JSTL - Tag XML <x: parse>

Il <x:parse> tag viene utilizzato per analizzare i dati XML specificati tramite un attributo o nel corpo del tag.

Attributo

Il <x:parse> tag ha i seguenti attributi:

Attributo Descrizione necessario Predefinito
var Una variabile che contiene i dati XML analizzati No Nessuna
xml Testo del documento da analizzare (stringa o lettore) No Corpo
systemId L'URI dell'identificatore di sistema per l'analisi del documento No Nessuna
filtro Il filtro da applicare al documento di origine No Nessuna
doc Documento XML da analizzare No Pagina
scopo Ambito della variabile specificata nell'attributo var No Pagina
varDom Una variabile che contiene i dati XML analizzati No Pagina
scopeDom Ambito della variabile specificata nell'attributo varDom No Pagina

Esempio

L'esempio seguente mostra come utilizzare l'analisi per leggere il file XML esterno:

Abbiamo visto come possiamo analizzare XML dal corpo di un dato documento. Mettiamo ora il seguente contenuto nel filebooks.xml file -

<books>
   <book>
      <name>Padam History</name>
      <author>ZARA</author>
      <price>100</price>
   </book>
   
   <book>
      <name>Great Mistry</name>
      <author>NUHA</author>
      <price>2000</price>
   </book>
</books>

Ora prova il seguente main.jsp, mantenendolo nella stessa directory:

<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix = "x" uri = "http://java.sun.com/jsp/jstl/xml" %>

<html>
   <head>
      <title>JSTL x:parse Tags</title>
   </head>

   <body>
      <h3>Books Info:</h3>
      <c:import var = "bookInfo" url = "http://localhost:8080/books.xml"/>

      <x:parse xml = "${bookInfo}" var = "output"/>
      <b>The title of the first book is</b>: 
      <x:out select = "$output/books/book[1]/name" />
      <br>
      
      <b>The price of the second book</b>: 
      <x:out select = "$output/books/book[2]/price" />

   </body>
</html>

Accedi al JSP sopra usando http://localhost:8080/main.jsp, verrà visualizzato il seguente risultato:

Books Info:

The title of the first book is:Padam History

The price of the second book: 2000