xml - regulares - ¿XPath para obtener todos los elementos secundarios excepto uno con un nombre específico?
xpath and xslt (2)
¿Cómo apuntar todos los elementos en un documento excepto el nombre de un elemento en particular?
Por ejemplo, quiero excluir los elementos de terminate
. Pueden ocurrir a lo largo del documento.
<root>
<terminate attr="1" />
<other>
The brown fox jumps over the fence.
<terminate>
<b>stuff</b>
</terminate>
</other>
</root>
He intentado usar el operador not(..)
sin éxito, probablemente porque lo estoy usando mal.
¡Y francamente intentar ''no'' a Google es difícil!
El siguiente xpath debería funcionar
/root/*[not(self::terminate)]
Además, creo que puedes hacerlo con esto también
/root/*[not(name()=''terminate'')]
Si está utilizando XPath 2.0 puede usar
/root/* except /root/terminate
Que hace lo que esperarías Coincide con los nodos que existen en la primera secuencia pero no en la segunda.