Fórum Root.cz

Hlavní témata => Vývoj => Téma založeno: Honza 11. 11. 2013, 13:56:54

Název: XPath dotaz na obsah XML
Přispěvatel: Honza 11. 11. 2013, 13:56:54
Dobrý den, chtěl bych Vás požádat o pomoc a případně děkuji, protože jsem na netu nenašel jednoznačné řešení.

Řekněme, že mám xml soubor:

<knihovna>
    <titul>Svet podle Garpa</titul>
    ...
</knihovna>

Jakym zpusobem prosim vas vyctu pomoci xpath hodnotu "Svet podle Garpa"? Nasel jsem jen, jak precist pripadne atributy.

Dekuji
Honza
Název: Re:XPath dotaz na obsah XML
Přispěvatel: Filip Jirsák 11. 11. 2013, 14:13:07
Kód: [Vybrat]
/knihovna/titul
Vrací to celý element titul, ale v kontextu, kde se očekává text, se to automaticky zkonvertuje na text tak, že se sloučí textový obsah všech vnořených elementů a přímo vložené texty. Pokud chcete získat explicitně jen textové uzly přímo vložené v elementu, bude to

Kód: [Vybrat]
/knihovna/titul/text()
a pokud byste chtěl textové uzly přímo vnořené i vnořených elementů (tedy ekvivalent té zkratky uvedené výše), bude to

Kód: [Vybrat]
/knihovna/titul//text()
Název: Re:XPath dotaz na obsah XML
Přispěvatel: none_ 11. 11. 2013, 16:33:56
Ještě bych dodal, že dotaz /knihovna/titul/text() vrátí více textů, pokud xml soubor obsahuje více elementů titul. Jeden konkrétní je nutné upřesnit například takto: /knihovna/titul[0]/text()