logo
22.10.2012 13:53
1
Prý lze pomocí Xpath vytáhnout z XML souboru pouze to co potřebuji. Neměl by někdo radu jak na tento případ? Chtěl bych všechny položky SHOPITEM které obsahují text "bílá mikina" a nevím jak na to. Xpath i XML nerozumím a vidím jej dneska skoro poprvé. Co jsem zjišťoval na netu, tak tento kód mi fungoval v principu toho, že našel počet položek obsahujících slovo bílá mikina, ale vypsal mi v programu pouze element product a nikoliv celý strom shopitem. Nevíte někdo poradit, případně zaslat nějaký zdroj, kde bych to vykoumal?

Hledám takového něco univerzálnějšího. Zkrátka chci z XML vytáhnout jen položky, které mají určité parametry.

/SHOP/SHOPITEM//*[contains(text(), 'Bílá mikina')]

XML vypadá něco jako
<shop>
<SHOPITEM>
<ID>246​</ID>
<PRODUCT>Bílá mikina</PRODUCT>
<DESCRIPTION>​bbla bla bakl ala</DESCRIPTION>

atd.

Co se právě děje na Webtrhu?

22.10.2012 14:43
2
Ano je to možné, XPath je mocný jazyk, mocnejší než CSS selektory ale o trochu slabší ako SQL. Ale dosť bolo teórie, výsledok, ktorý potrebuješ dostať zo spomínaného XML získaš výrazom
Kód:
/SHOP/SHOPITEM[PRODUCT[contains(text(), 'Bílá mikina')]]
, ale skôr doporučujem výraz
Kód:
/SHOP/SHOPITEM[PRODUCT[contains(text(), 'Bílá') and contains(text(), 'mikina')]]
Neviem, aké nástroješ používaš, ale mne sa osvedčil na rýchlu prácu XPath parser