2011-05-20 14 views
6

¿Es posible en XPATH seleccionar una lista de elementos únicos de un nodo donde hay muchos de los mismos?Seleccione una lista de elementos únicos de una lista de nodos usando XPATH

<Deserts> 
<Desert Code="C1">Popsicle<Desert> 
<Desert Code="H2">Ice Cream<Desert> 
<Desert Code="C1">Popsicle<Desert> 
<Desert Code="T1">Cheese Cake<Desert> 
</Deserts> 

En este ejemplo quiero la lista resultante de tener sólo 3 nodos (Popsicle/helado/torta de queso).

¿Cómo puedo seleccionar una lista con Xpath?

+0

Buena pregunta, 1. Vea mi respuesta para una solución XPath 2.0 más corta. –

Respuesta

4

intente lo siguiente XPath:

/Deserts/Desert[not(@Code=preceding-sibling::Desert/@Code)] 

volverá desiertos distintas marcando el atributo Código desierto.

+0

Perfekt! Gracias – CaBieberach

2

solución XPath 2.0:

(/*/*/@Code)[index-of(/*/*/@Code,.)[1]] 
+0

Gracias @ Dimitre-novatchev! Mantendré esta información cerca. Estoy desarrollando en VBA/Dom, así que tengo que usar Xpath 1.0. – CaBieberach

Cuestiones relacionadas