viernes, 5 de marzo de 2010

Comprobar una expresión XPath online

Si quieres comprobar al extraer valores de tu elemento que contenga cualquier esquema XML puedes hacerlo en XPath Expression Testbed .

La página te permite subir tu propio esquema y probar en online expresiones, como también te permite hacer ejemplos con un esquema de prueba, que mostramos acontinuación:

<?value="2"?> 
<parent name="data" > 
   <child id="1"  name="alpha" >Some Text</child> 
   <child id="2"  name="beta" > 
      <grandchild id="2.1"  name="beta-alpha" ></grandchild> 
      <grandchild id="2.2"  name="beta-beta" ></grandchild> 
   </child> 
   <pet name="tigger"  type="cat" > 
      <data> 
         <birthday month="sept"  day="19" ></birthday> 
         <food name="Acme Cat Food" ></food> 
      </data> 
   </pet> 
   <pet name="Fido"  type="dog" > 
      <description> 
         Large dog! 
      </description> 
      <data> 
         <birthday month="feb"  day="3" ></birthday> 
         <food name="Acme Dog Food" ></food> 
      </data> 
   </pet> 
   <rogue name="is this real?" > 
      <data> 
         Hates dogs! 
      </data> 
   </rogue> 
   <child id="3"  name="gamma"  mark="yes" > 
      <!-- A comment --> 
      <description> 
         Likes all animals - especially dogs! 
      </description> 
      <grandchild id="3.1"  name="gamma-alpha" > 
         <[CDATA[ Some non-parsable character data ]]> 
      </grandchild> 
      <grandchild id="3.2"  name="gamma-beta" ></grandchild> 
   </child> 
</parent> 



El cual podemos hacer las siguiente operaciones:

-Acceder a un valor del NAME del CHILD con ID=1.
Bueno esto se escribirá de la siguiente manera:
/parent/child[@id='1']/@name
Como muestra la imagen siguiente.

-Para recorrer por ejemplo todos los CHILD solo ponemos entre corchetes el número de campos.
Para /parent/child[1]/@name el Resultado es alpha.
Para /parent/child[2]/@name el Resultado es beta.

Y así sucesivamente, el cual lo podemos idear con un simple While.

No hay comentarios:

Publicar un comentario