jump to navigation

Número de elementos de un fichero XML Diciembre 30, 2009

Publicado por lineadecodigo en : XSLT , trackback

Si estás tratando un fichero XML es muy probable que necesites conocer el número de elementos que lo componen, de cara a poderlo manipular de una forma más sencilla. Sobre todo si están iterando en un bucle por el número de elementos de un determinado nodo.

Saber el número de elementos de un fichero XML dado un nodo en concreto es una tarea muy sencilla.

Imaginemos el siguiente XML (¡qué poco original que soy!):

  1. <?xml version="1.0" encoding="iso-8859-1"?>
  2. <libros>
  3. <libro>
  4. <titulo>Fuente Ovejuna</titulo>
  5. <autor>Lope de Vega</autor>
  6. <isbn>84-9815-002-7</isbn>
  7. </libro>
  8. <libro>
  9. <titulo>La Celestina</titulo>
  10. <autor>Fernando de Rojas</autor>
  11. <isbn>84-96390-96-9</isbn>
  12. </libro>
  13. ...
  14. </libros>

Lo primero que haremos en nuestro fichero XSLT será el saber que parte de la estructura del documento XML nos interesa contar. Es decir, en un nodo en concreto, para saber el número de elementos que dicha estructura tiene. En este ejemplo, la idea es contar el número de libros que hay en el documento XML.

Para contar el número de elementos disponemos de una función. Esta es la función count():

  1. count(xpath)

El parámetro de la función será una expresión xpath que haga relación a alguna estructura del documento XML que estamos tratando. En nuestro caso la expresión xpath será:

/libros/libro

Para poder mostrar por pantalla el número de elementos deberemos de utilizar la etiqueta xsl:value-of, la cual, en su parámetro select llevará la función count():

  1. <xsl:value-of select="count(/libros/libro)"/>

Articulos Similares:

|- Visualizar el ejemplo
|- Descargar el código
|- Reportar error en el código
|- Foro sobre XSLT

Enviar entrada por email Enviar entrada por email | Imprimir Imprimir | 465 visitas

1 Star2 Stars3 Stars4 Stars5 Stars (Todavia sin evaluar)
Loading ... Loading ...

Comentarios»

Todavía no hay comentarios. ¿Quieres ser el primero?




Si tienes dudas sobre XSLT no dudes en visitar el Foro sobre XSLT.
Imagen CAPTCHA CAPTCHA Audio
Refrescar imagen