Прежде всего, спасибо за время прочтения этого :)PHP XML DOM - Различение узлов на основе родительского атрибутов/элементы
Мне нужна помощь переназначения фид XML. Я пробовал много вещей и исследовал, но не могу найти решение.
<xml>
<group>
<result>
<title>Title</title>
<url>URL</url>
<text>Text</text>
</result>
<result>
<title>Title</title>
<url>URL</url>
<text>Text</text>
</result>
</group>
<group region=top>
<result>
<title>Title</title>
<url>URL</url>
<text>Text</text>
</result>
</group>
<group type=bottom>
<result>
<title>Title</title>
<url>URL</url>
<text>Text</text>
<moreinfo>
<result>
<title>Title</title>
</result>
<result>
<title>Title</title>
</result>
</moreinfo>
</result>
</group>
</xml>
Что я пытаюсь сделать, это переупорядочить XML-канал для отображения каждого узла внутри «результата». Тем не менее, мне нужно, чтобы корм был переупорядочен, поэтому «результат» из «group region = top» находится вверху, затем результаты из «группы», затем результат «group region = bottom».
Возможно, вы заметили, что в теге 'result' в 'group region = bottom' есть другой тег 'result', который вызывает большую часть проблем. Как я представить себе решение это с помощью следующего псевдокода:
$books = $doc->getElementsByTagName("result");
foreach($books as $book)
{
if (parent_attribute = top){
$toptitle = $book->getElementsByTagName("title");
$toptitle = $toptitle->item(0)->nodeValue;
$topnew[] =array("title"=>$toptitle);
}
if (parent_attribute = null){
$middletitle = $book->getElementsByTagName("title");
$middletitle = $middletitle->item(0)->nodeValue;
$middlenew[] =array("title"=>$middletitle);
}
if (parent_attribute = bottom){
$bottomtitle = $book->getElementsByTagName("title");
$bottomtitle = $bottomtitle->item(0)->nodeValue;
if (parent_element = moreinfo){
$moretitle = $book->getElementsByTagName("title");
$moretitle = $moretitle->item(0)->nodeValue;
}
$bottomnew[] =array("title"=>$bottomtitle, "more"=>$moretitle);
}
}
1. есть '<группа типа = "нижний">', 'не region' атрибут здесь - опечатка? 2. Что вы хотите совершить с этими «result/moreinfo/results»-node? пожалуйста, объясни! – michi