XSLT 转换 vlan.xml 为 html 遇到的小问题
只能获取到 第一个Switch 节点的数据,不能循环到第二个节点,请高手指教谢谢
vlan.xml文件
<?xml version= "1.0 " encoding= "utf-8 " ?>
<?xml-stylesheet type= "text/xsl " href= "vlan.xsl "?>
<vlan>
<Switch name= "八一宾馆 " ip= "10.254.254.9 ">
<Item name= "to 6509 " port= "Fa0/1 " vlan= "trunk "> </Item>
<Item name= "国贸广场 " port= "Fa0/2 " vlan= "103 " 网关= "10.103.1.1 "> </Item>
<Item name= "武警总队 " port= "Fa0/3 " vlan= "225 " 网关= "10.225.1.1 "> </Item>
<Item name= "华西美庐 " port= "Fa0/5 " vlan= "107 " 网关= "172.21.0.10 "> </Item>
<Item name= "水利厅 " port= "Fa0/7 " vlan= "224 " 网关= "10.224.1.1 "> </Item>
<Item name= "金属大厦 " port= "Fa0/9 " vlan= "249 " 网关= "10.249.1.1 "> </Item>
<Item name= "军一营 " port= "Fa0/11 " vlan= "223 " 网关= "10.223.1.1 "> </Item>
<Item name= "王家堂 " port= "Fa0/12 " vlan= "trunk "> </Item>
</Switch>
<Switch name= "天涯石 " ip= "10.254.254.8 ">
<Item name= "to 6509 " port= "Fa0/1 " vlan= "trunk "> </Item>
<Item name= "翠风苑一期 " port= "Fa0/6 " vlan= "242 " 网关= "10.242.1.1 "> </Item>
<Item name= "天涯南苑 " port= "Fa0/8 " vlan= "243 " 网关= "10.243.1.1 "> </Item>
<Item name= "桂王桥西街52号 " port= "Fa0/9 " vlan= "232 " 网关= "10.232.1.1 "> </Item>
<Item name= "庆云南街 " port= "Fa0/10 " vlan= "241 " 网关= "10.241.1.1 "> </Item>
<Item name= "桂王桥东街4号 " port= "Fa0/11 " vlan= "231 " 网关= "10.231.1.1 "> </Item>
<Item name= "方正东街 " port= "Fa0/12 " vlan= "240 " 网关= "10.240.1.1 "> </Item>
<Item name= "川旅厂 " port= "Fa0/13 " vlan= "239 " 网关= "10.239.1.1 "> </Item>
<Item name= "桂王桥西街23号 " port= "Fa0/14 " vlan= "230 " 网关= "10.230.1.1 "> </Item>
<Item name= "粮食局 " port= "Fa0/15 " vlan= "238 " 网关= "10.238.1.1 "> </Item>
<Item name= "日报 " port= "Fa0/16 " vlan= "237 " 网关= "10.237.1.1 "> </Item>
<Item name= "78086部队 " port= "Fa0/17 " vlan= "228 " 网关= "10.228.1.1 "> </Item>
<Item name= "电业局 " port= "Fa0/18 " vlan= "236 " 网关= "10.236.1.1 "> </Item>
<Item name= "蜀都大厦 " port= "Fa0/19 " vlan= "100 " 网关= "172.19.0.10 "> </Item>
<Item name= "三中 " port= "Fa0/20 " vlan= "235 " 网关= "10.235.1.1 "> </Item>
<Item name= "狮马路 " port= "Fa0/21 " vlan= "227 " 网关= "10.227.1.1 "> </Item>
<Item name= "天涯石东街8号 " port= "Fa0/22 " vlan= "234 " 网关= "10.234.1.1 "> </Item>
<Item name= "昭忠祠72号 " port= "Fa0/23 " vlan= "229 " 网关= "10.229.1.1 "> </Item>
<Item name= "翠风苑二期 " port= "Fa0/24 " vlan= "233 " 网关= "10.233.1.1 "> </Item>
</Switch>
vlan.xsl文件
<?xml version= "1.0 "?>
<xsl:stylesheet version= "1.0 " xmlns:xsl= "http://www.w3.org/1999/XSL/Transform ">
<xsl:output method= "html "> </xsl:output>
<xsl:template match= "/ ">
<html>
<title> ip address </title>
<body>
<h2> 社区测试IP地址 </h2>
<table border= "1 ">
<tr bgcolor= "#9acd32 ">
<th align= "left "> name </th>
<th align= "left "> ip </th>
</tr>
<xsl:for-each select= "vlan ">
<tr>
<td>
<xsl:value-of select= "Switch/@name "/>
</td>
<td>
<xsl:value-of select= "Switch/@ip "/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
[解决办法]
<?xml version= "1.0 " encoding= "UTF-8 "?>
<xsl:stylesheet version= "1.0 " xmlns:xsl= "http://www.w3.org/1999/XSL/Transform " xmlns:fo= "http://www.w3.org/1999/XSL/Format ">
<xsl:output method= "html "> </xsl:output>
<xsl:template match= "/ ">
<html>
<title> ip address </title>
<body>
<h2> 社区测试IP地址 </h2>
<table border= "1 ">
<tr bgcolor= "#9acd32 ">
<th align= "left "> name </th>
<th align= "left "> ip </th>
</tr>
<xsl:for-each select= "/vlan/Switch ">
<tr>
<td>
<xsl:value-of select= "@name "/>
</td>
<td>
<xsl:value-of select= "@ip "/>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>