Я хочу прочитать вложенные элементы и значения атрибутов каждого элемента из файла XML. Я использую SimpleXML и вот мой код до сих пор:Проанализировать данные simpleXML рекурсивно с помощью PHP
$path = Mage::getBaseUrl('media').'Banners/data.xml' ;
$doc = new DOMDocument();
$doc->load($path);
$items = $doc->getElementsByTagName("imgitem");
$xml=simplexml_load_file($path);
foreach($xml->children() as $child)
{
foreach($child as $item)
{
$attr = $xml->imgitem->attributes();
echo $attr['image'].'<br>';
echo $attr['link'].'<br>';
echo $attr['target'].'<br>';
}
}
Может кто-нибудь мне точку в правильном направлении, чтобы получить все дочерние узлы и их атрибуты рекурсивно?
Вот исходный XML-файл структура
<Banner>
<imgitem image="img/source/path" link="" target="_blank" delay="" textBlend="yes"> <![CDATA[Autumn Leaves]]> </imgitem>
<imgitem image="img/source/path" link="" target="_blank" delay="" textBlend="yes"> <![CDATA[Creek]]> </imgitem>
<imgitem image="img/source/path" link="" target="_blank" delay="" textBlend="yes"> <![CDATA[Dock]]> </imgitem>
</Banner>
Теперь то, что я хочу, это значение всех атрибутов каждого из трех элементов родительского тега. Поэтому нужно пропустить основной тег, чтобы получить все три (или любое количество) элементов, а затем взять еще один цикл и получить все значения атрибутов для каждого элемента.
Вы, кажется, есть некоторый DOM-код в там, который не делает ничего - возможно, оставшийся от предыдущей попытки? Кроме того, не совсем ясно, где рекурсия будет соответствовать указанному коду, который вы показываете; мы можем увидеть образец XML, который вы пытаетесь обработать, и желаемый результат? – IMSoP