Ejemplos XPath con weather.xml

De WikiEducator
Saltar a: navegación, buscar


Ejemplos sacados de http://cafeconleche.org/books/xmljava/chapters/ch16.html

<?xml version="1.0" encoding="ISO-8859-1"?>
<weather time="2002-06-06T15:35:00-05:00">
  <report latitude="41.2° N" longitude="71.6° W">
    <locality>Block Island</locality>
    <temperature units="°C">16</temperature>
    <humidity>88%</humidity>
    <dewpoint units="°C">14</dewpoint>
    <wind>
      <direction>NE</direction>
      <speed units="km/h">16.1</speed>
      <gust units="km/h">31</gust>
    </wind>
    <pressure units="hPa">1014</pressure>
    <condition>overcast</condition>
    <visibility>13 km</visibility>
  </report>
  <report latitude="34.1° N" longitude="118.4° W">
    <locality>Santa Monica</locality>
    <temperature units="°C">19</temperature>
    <humidity>79%</humidity>
    <dewpoint units="°C">16</dewpoint>
    <wind>
      <direction>WSW</direction>
      <speed units="km/h">14.5</speed>
    </wind>
    <pressure units="hPa">1010</pressure>
    <condition>hazy</condition>
    <visibility>5 km</visibility>
  </report>  
</weather>


 /weather/report  selecciona los dos elementos report
 /weather/report[1] selecciona el primer elemento report
 /weather/report/temperature selecciona los dos elementos temperatura
 /weather/report[locality="Santa Monica"] selecciona el segundo report
 //report[locality="Block Island"]/attribute::longitude  selcciona el atributo longitude del primer elemento report
 /child::weather/child::report/child::wind/child::* selecciona todos los elementos dirección, speed y gust.
 9 * number(/weather/report[locality="Block Island"]/temperature) div 5 + 32 devuelve la temperatura de Block Island en grados Fahrenheit.
 /descendant::*  devuelve todos los elementos del documento