XML.XML
1<part>
2<partname>徐仪</partname>
3<dir>
4<dirname>Root</dirname>
5<file>
6<name>File1</name>
7<size>20050</size>
8</file>
9<dir>
10<dirname>Dir1</dirname>
11<file>
12<name>File_1_1</name>
13<size>20050</size>
14</file>
15</dir>
16<dir>
17<dirname>Dir2</dirname>
18<file>
19<name>File_2_1</name>
20<size>20050</size>
21</file>
22<dir>
23<dirname>Dir2_1</dirname>
24<file>
25<name>File_2_1_1</name>
26<size>20050</size>
27</file>
28</dir>
29</dir>
30</dir>
31</part>
XML.XSL
1<xsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2<xsl:template match="/">
3<table border="0" cellpadding="0" cellspacing="0" width="100%">
4<xsl:for-each select="//Dir">
5<tr>
6<td><xsl:value-of select="./DirName"></xsl:value-of></td>
7</tr>
8</xsl:for-each>
9<xsl:for-each select="//File">
10<tr>
11<td>
12<xsl:value-of select="//File/Name"></xsl:value-of>:
13<xsl:value-of select="//File/Size"></xsl:value-of>
14</td>
15</tr>
16</xsl:for-each>
17</table>
18</xsl:template> </xsl:stylesheet>
XML.JS
1<script language="javascript">
2var xml = new ActiveXObject("Microsoft.XMLDOM")
3xml.async = false
4
5xml.load("XML.XML")
6
7xml=xml.documentElement
8xml=xml.selectSingleNode("//Part[PartName='徐仪']")
9
10var result= new ActiveXObject("Microsoft.XMLDOM")
11result.async
12result.loadXML(xml.xml)
13
14var xsl = new ActiveXObject("Microsoft.XMLDOM")
15xsl.async = false
16xsl.load("XML.XSL")
17document.write(result.transformNode(xsl))
18</script>
我想要的结果是
Root
Dir1
Dir2
File1: 20050
显示结果是
Root
Dir1
Dir2
Dir2_1
File1: 20050
File1: 20050
File1: 20050
File1: 20050
有些文件出现了好几次不知道是为什么
---------------------------------------------------------------
try
1<xsl:for-each select="//File">
2<tr>
3<td>
4<xsl:value-of select="Name"></xsl:value-of>:
5<xsl:value-of select="Size"></xsl:value-of>
6</td>
7</tr>
8</xsl:for-each>
---------------------------------------------------------------
//File means all File, try
1<xsl:stylesheet version="1.0" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
2<xsl:template match="/">
3<table border="0" cellpadding="0" cellspacing="0" width="100%">
4<xsl:for-each select="//Dir">
5<tr>
6<td><xsl:value-of select="DirName"></xsl:value-of></td>
7</tr>
8<tr>
9<td><table>
10<xsl:for-each select="File">
11<tr>
12<td>
13<xsl:value-of select="Name"></xsl:value-of>:
14<xsl:value-of select="Size"></xsl:value-of>
15</td>
16</tr>
17</xsl:for-each>
18</table>
19</td>
20</tr>
21</xsl:for-each>
22</table>
23</xsl:template> </xsl:stylesheet>