2012-01-11 15 views

risposta

33

Prova questo:

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

(sostituire //foo/ con la vostra espressione XPath corrente

Con questo XML:..

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

bar come uscita

+6

Per essere pedante per un secondo, il lo spazio bianco attorno a 'bar' è significativo, quindi l'output non è * esattamente *' bar'. Si potrebbe voler usare 'normalize-space (// foo/following-sibling :: text() [1])' –

+0

Cosa succede se ho diverse strutture simili e l'unico identificatore è il testo 'foo', tra il' 'tag. Posso usare 'foo' e seguire sibiling. Apprezzo se tu potessi aggiornare la tua risposta! – mrquad

+0

@WayneBurkett 'normalize-space' restituisce solo 1' stringa'. Come si restituiscono tutte le corrispondenze normalizzate in XPath 1.0? – Viraj

Problemi correlati