В настоящее время я создаю XML-документ на PHP, который даст следующее:
<root>
<collection>
<region>1</region>
<primary>John</primary>
<collection>
<collection>
<region>1</region>
<primary>Jane</primary>
<collection>
<collection>
<region>2</region>
<primary>Jill</primary>
<collection>
<root>
Однако я хочу получить следующее:
<root>
<collection>
<region>1</region>
<primary>John</primary>
<primary>Jane</primary>
<collection>
<collection>
<region>2</region>
<primary>Jill</primary>
<collection>
<root>
Чтобы получить первый XML-документ, я использую следующий код PHP:
$query = mysql_query("SELECT * FROM eventcal WHERE eventDate = '$date' ORDER BY region");
$doc = new DomDocument("1.0");
$root = $doc->createElement('data');
$root = $doc->appendChild($root);
if (@mysql_num_rows($query)) {
while ($row=@mysql_fetch_assoc($query)) {
$node = $doc->createElement('collection');
$node = $root->appendChild($node);
foreach($row as $fieldname => $fieldvalue){
$node->appendChild($doc->createElement($fieldname, $fieldvalue));
}
}
}
Могу ли я изменить этот PHP так, чтобы он имел "primary" как дочерний элемент для "region"?
Спасибо!
Извините, ребята, я имел в виду первичную как родного брата. Вы правы, тег коллекции станет излишним. Исходя из ваших комментариев, я думаю, что структура должна быть изменена на:
<root>
<collection>
<region ID = "1">
<primary>John</primary>
<primary>Jane</primary>
</region>
<region ID = "2">
<primary>Jill</primary>
</collection>
<root>
В таком случае моя проблема заключается в том, как изолировать регион в качестве родителя от ресурса MySQL, который возвращается из запроса?
Спасибо.