JSTL - Balise XML <x: parse>
le <x:parse> La balise est utilisée pour analyser les données XML spécifiées via un attribut ou dans le corps de la balise.
Attribut
le <x:parse> tag a les attributs suivants -
Attribut | La description | Obligatoire | Défaut |
---|---|---|---|
var | Une variable qui contient les données XML analysées | Non | Aucun |
xml | Texte du document à analyser (String ou Reader) | Non | Corps |
systemId | L'URI de l'identifiant système pour l'analyse du document | Non | Aucun |
filtre | Le filtre à appliquer au document source | Non | Aucun |
doc | Document XML à analyser | Non | Page |
portée | Portée de la variable spécifiée dans l'attribut var | Non | Page |
varDom | Une variable qui contient les données XML analysées | Non | Page |
scopeDom | Portée de la variable spécifiée dans l'attribut varDom | Non | Page |
Exemple
L'exemple suivant montre comment l'analyse peut être utilisée pour lire le fichier XML externe -
Nous avons vu comment analyser le XML à partir du corps du document donné. Mettons maintenant le contenu suivant dans lebooks.xml fichier -
<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>
Maintenant, essayez le main.jsp suivant, en gardant dans le même répertoire -
<%@ 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>
Accédez à la JSP ci-dessus en utilisant http://localhost:8080/main.jsp, le résultat suivant sera affiché -
Books Info:
The title of the first book is:Padam History
The price of the second book: 2000