Я пытаюсь получить значение следующих узлов из [этого URL (требуется некоторое время для загрузки)] [1]. Элементы, которые меня интересуют:
title, g:price and g:gtin
XML начинается следующим образом:
<rss xmlns:g="http://base.google.com/ns/1.0" version="2.0"> <channel> <title>PhotoSpecialist.de</title> <link>http://www.photospecialist.de</link> <description/> <item> <g:id>BEN107C</g:id> <title>Benbo Trekker Mk3 + Kugelkopf + Tasche</title> <description> Benbo Trekker Mk3 + Kugelkopf + Tasche Das Benbo Trekker Mk3 ist eine leichte Variante des beliebten Benbo 1. Sein geringes Gewicht macht das Trekker Mk3 zum idealen Stativ, wenn Sie viel draußen fotografieren und viel unterwegs sind. Sollten Sie in eine Situation kommen, in der maximale Stabilität zählt, verfügt das Benbo Trekker Mk3 über einen Haken an der Mittelsäule. An diesem können Sie das Stativ mit zusätzlichem Gewicht bei Bedarf beschweren. Dank der zwei besonderen Kamera-Befestigungsschrauben können Sie mit dem Benbo Trekker Mk3 sehr nah am Boden fotografieren. So nah, dass in vielen Fällen die einzige Einschränkung die Größe Ihrer Kamera darstellt. In diesem Set erhalten Sie das Benbo Trekker Mk3 zusammen mit einem Kugelkopf, Socket und einer Tasche für den sicheren und komfortablen Transport. </description> <link> http://www.photospecialist.de/benbo-trekker-mk3-kugelkopf-tasche?dfw_tracker=2469-16 </link> <g:image_link>http://img.ruphp.com/php/benbo_trekker_mk3_tripod_kit_with_b__s_head__bag_ben107c1.jpg</g:image_link> <g:price>199.00 EUR</g:price> <g:condition>new</g:condition> <g:availability>in stock</g:availability> <g:identifier_exists>TRUE</g:identifier_exists> <g:brand>Benbo</g:brand> <g:gtin>5022361100576</g:gtin> <g:item_group_id>0</g:item_group_id> <g:product_type>Tripod</g:product_type> <g:mpn/> <g:google_product_category>Kameras & Optik</g:google_product_category> </item> ... </channel> </rss>
Чтобы получить это, я написал следующий код:
$z = new XMLReader; $z->open('https://my.datafeedwatch.com/static/files/1248/8222ebd3847fbfdc119abc9ba9d562b2cdb95818.xml'); $doc = new DOMDocument; while ($z->read() && $z->name !== 'item') ; while ($z->name === 'item') { $node = new SimpleXMLElement($z->readOuterXML()); $a = $node->title; $b = $node->price; $c = $node->gtin; echo $a . $b . $c . "<br />"; $z->next('item'); }
Это возвращает мне только название … цена и gtin не отображаются.