XML标记库(XML Tag Library)包含有关XML处理的动作。使用XML标记库时,必须使用taglib指令,并设定prefix和uri属性,通常设置如下:
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
XML标记库共有10个动作,包括parse、out、set、if、when、choose、otherwise、forEach、transform和param。
.1 <x:parse>动作
<x:parse>动作用于解析一个XML文档的内容,其语法格式如下:
<x:parse
[doc="xmlDocument" | xml="xmlDocument"]
[systemId="systemId"]
[filter="filter"]
var="varName" [scope="page|request|session|application"] />
或
<x:parse
[systemId="systemId"]
[filter="filter"]
var="varName" [scope="page|request|session|application"]>
xmlDocument
</x:parse>
或
<x:parse
[doc="xmlDocument" | xml="xmlDocument"]
[systemId="systemId"]
[filter="filter"]
varDom="domName" [scopeDom="page|request|session|application"] />
或
<x:parse
[systemId="systemId"]
[filter="filter"]
varDom="domName" [scopeDom="page|request|session|application"]>
xmlDocument
</x:parse>
<x:parse>动作共有8个属性,包括doc、xml、systemId、filter、varDom、ScopeDom、var和scope。
doc属性:指定XML文档
【功能说明】doc属性用于指定要解析的源XML文档,可以接受动态值。
【实例演示】
<%@ page contentType="text/html;charset=GB2312" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="x" uri="http://java.sun.com/jsp/jstl/xml" %>
<c:import url="txl.xml" charEncoding="GB2312" var="xmldoc" />
<x:parse doc="${xmldoc}" var="doc" />
其中,txl.xml文档内容如下:
<?xml version="1.0" encoding="GB2312"?>
<linkmans>
<linkman id="1">
<name>霸王丸</name>
<sex>男</sex>
<birthday>1965-05-04</birthday>
<mobile>13112943800</mobile>
<phone>022-62590099</phone>
<email>babel@laser.com</email>
</linkman>
<linkman id="2">
<name>桔右京</name>
<sex>男</sex>
<birthday>1966-11-12</birthday>
<mobile>13399287400</mobile>
<phone>010-65118888</phone>
<email>jacinth@sanfen.com</email>
</linkman>
<linkman id="3">
<name>娜可露露</name>
<sex>女</sex>
<birthday>1980-04-19</birthday>
<mobile>13214095045</mobile>
<phone>0411-2809705</phone>
<email>naker@soldier.com</email>
</linkman>
<linkman id="4">
<name>服布半藏</name>
<sex>男</sex>
<birthday>1977-09-09</birthday>
<mobile>13020041126</mobile>
<phone>0513-3235776</phone>
<email>fubsy@wyxfive.com.cn</email>
</linkman>
<linkman id="5">
<name>加尔福特</name>
<sex>男</sex>
<birthday>1971-01-01</birthday>
<mobile>13906144105</mobile>
<phone>0874-5261044</phone>
<email>jackey@falvxyxy.net</email>
</linkman>
<linkman id="6">
<name>千两狂死郎</name>
<sex>男</sex>
<birthday>1972-03-04</birthday>
<mobile>13309094452</mobile>
<phone>0577-7219756</phone>
<email>quadron@igresve.com.jp</email>
</linkman>
<linkman id="7">
<name>牙神幻十郎</name>
<sex>男</sex>
<birthday>1973-04-05</birthday>
<mobile>13301140758</mobile>
<phone>0738-5814854</phone>
<email>ystem@beelinkss.net</email>
</linkman>
</linkmans>
示例代码执行后,将txl.xml文档的内容解析并保存到doc对象中。
[1] [2] 下一页