Autor Zpráva
weny1
Profil *
Ahoj chtěl jsem se zeptat, jak zpracovat respektive dostat informaci z xml feedu, který má strukturu viz. níže, potřebuju ho projít a vytáhnout id a k tomu sklad. Moc děkuju za pomoc

-<item_list>
-<item id="2323">
<stock_quantity>72</stock_quantity>
<delivery_time orderDeadline="2015-02-12 14:00">2015-02-13 23:59</delivery_time>
</item>
-<item id="2324">
<stock_quantity>72</stock_quantity>
<delivery_time orderDeadline="2015-02-12 14:00">2015-02-13 23:59</delivery_time>
</item>
MartinP
Profil *
Tak osobně bych použil cheerio, má stejné api jako jQuery. Pokud by bylo XML větší, že by se nevyplatilo ho ukládat celé do RAM, použil bych nějaký stream parser, třeba https://github.com/assistunion/xml-stream.

S cheerio bych to napsal takhle:
var items = {};
$("item_list item").each(function() {
 var $this = $(this);
 items[$this.attr("id")] = $this.find("stock_quantity").text();
});
Joker
Profil
weny1:
A v čem se to má procházet?
weny1
Profil *
Pokusil jsem se to prohnat přes simplexml_load_string($data); ale nedaří se mi ta data z toho dostat.
Joker
Profil
weny1:
Tak to by mělo být snadné přes XPath:

// $data je SimpleXMLElement s dokumentem
$id = 1;
$elts = $data->xpath("//[@id=$id"]/stock_quantity);
$qty = (count($elts) > 0) ? $elts[0] : 0;

Doplněn komentář co je $data

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: