Autor | Zpráva | ||
---|---|---|---|
weny1 Profil * |
#1 · Zasláno: 12. 2. 2015, 14:13:44
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 * |
#2 · Zasláno: 12. 2. 2015, 14:24:15
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 |
#3 · Zasláno: 12. 2. 2015, 14:35:03
weny1:
A v čem se to má procházet? |
||
weny1 Profil * |
#4 · Zasláno: 12. 2. 2015, 15:20:46
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 |
||
Časová prodleva: 10 let
|
0