2012-01-11 16 views

Odpowiedz

33

Spróbuj tego:

//foo/following-sibling::text()[1]

(zastąpić //foo/ z aktualnym wyrażenie XPath

Z tego XML:..

<data> 
<foo>foo</foo> 
bar 
<baz>baz</baz> 
</data> 

Daje bar jako wyjście

+6

Aby być pedantyczny na sekundę, białe spacje wokół 'bar' są znaczące, więc wynik nie jest * dokładnie *' słupkiem'. Możesz użyć 'normalize-space (// foo/follow-sibling :: text() [1])' –

+0

Co jeśli mam kilka podobnych struktur, a jedynym identyfikatorem jest tekst 'foo', pomiędzy' 'tagi. Czy mogę użyć 'foo' i podążać za sibilingiem. Doceniam, czy mógłbyś zaktualizować swoją odpowiedź! – mrquad

+0

@WayneBurkett 'normalize-space' zwraca tylko 1' ciąg'. Jak zwrócisz wszystkie "mecze" znormalizowane w XPath 1.0? – Viraj

Powiązane problemy