0
Так что я пытаюсь итерацию через DOM-документ, который будет выглядеть следующим образом:PHP Дочерние узлы
<track rank="1">
<name>Believe</name>
<duration>239</duration>
<mbid>13194c93-89c6-4ab4-aaf2-15db5d73b74e</mbid>
<url>http://www.last.fm/music/Cher/_/Believe</url>
<streamable fulltrack="0">0</streamable>
<artist>
<name>Cher</name>
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
<url>http://www.last.fm/music/Cher</url>
</artist>
</track>
Использование PHP я могу просто сделать $tracks = $xml->getElementsByTagName("track");
И дело в том, для каждого трека я хочу, чтобы получить как его название, так и продолжительность. Мне известно о свойстве childNodes, но я не хочу их зацикливать. Есть ли способ получить к ним доступ напрямую, не используя foreach для своих детей?
Вы рассматривали SimpleXML для этого? Это было бы так же просто, как '$ track_names = $ xml-xpath ('// track/name'); $ durations = $ xml-> xpath ('// track/duration'); ' –
Это не работает, так как я создаю новый SimpleXMLElement. И для каждого существующего трека мне нужно знать их ценности, поэтому я думаю, что ваш путь не работает для меня. –
Где проблема при создании нового элемента SimpleXMLElement из двух массивов? – andy