这里是我想用XSLT解析XML文件:首次XSLT:调用模板,用-PARAM,XPath位置路径
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<?xml-stylesheet type="text/xsl" href="myXSLTSheet.xsl" ?>
<us:TopLevelTag xmlns:ut='http://www.umbrellacorp.com/oagis/1' xmlns:ot='http://www.openapplications.org/oagis/9' >
<ut:SecondLevelTag>
<ut:ThirdLevelTag>
</ut:ThirdLevelTag>
</ut:SecondLevelTag>
<ut:SecondLevelTag>
<ut:ThirdLevelTag>
<ut:FourthLevelTag>
<ot:FifthLevelTag>
<ot:SixthLevelTag>
<ot:SeventhLevelTag1>Thing1</ot:SeventhLevelTag>
</ot:SixthLevelTag>
<ot:SixthLevelTag>
<ot:SeventhLevelTag1>Thing2</ot:SeventhLevelTag>
</ot:SixthLevelTag>
<ot:SixthLevelTag>
<ot:SeventhLevelTag1>Thing3</ot:SeventhLevelTag>
</ot:SixthLevelTag>
<ot:SixthLevelTag>
<ot:SeventhLevelTag1>Thing4</ot:SeventhLevelTag>
</ot:SixthLevelTag>
<ot:SixthLevelTag>
<ot:SeventhLevelTag1>Thing5</ot:SeventhLevelTag>
</ot:SixthLevelTag>
</ot:FifthLevelTag>
<ot:FifthLevelTag>
<ot:SixthLevelTag>
<ot:SeventhLevelTag2>Thing6</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing7</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing8</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing9</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing10</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing11</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing12</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing13</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing14</ot:SeventhLevelTag2>
<ot:SeventhLevelTag2>Thing15</ot:SeventhLevelTag2>
</ot:SixthLevelTag>
</ot:FifthLevelTag>
</ut:FourthLevelTag>
</ut:ThirdLevelTag>
</ut:SecondLevelTag1>
</us:TopLevelTag>
这里是XLST文件做解析:
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns="http://www.w3.org/1999/xhtml" version ="1.0"
xmlns:ut="http://www.umbrellacorp.com/oagis/1" xmlns:ot="http://www.openapplications.org/oagis/9" >
<xsl:template match="/">
<xsl:call-template name="spec1">
<xsl:with-param name="match" select="ut:TopLevelTag/ut:SecondLevelTag[1]/ut:ThirdLevelTag[100]/ut:FourthLevelTag[1]/ot:FifthLevelTag[1]" />
</xsl:call-template>
</xsl:template>
<xsl:template match="/" name="spec1">
<xsl:param name="match" />
<xsl:for-each select="$match/ot:SixthLevelTag">
Value: <xsl:value-of select="ot:SeventhLevelTag"/><br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
请帮忙,xslt文件不会返回任何东西。我认为模板“匹配”属性可能被设置错误,或者我错误地使用了“param”变量。
我的猜测是,您没有使用XML/XSLT感知IDE,因为它会解决您的XML无效的问题。我个人使用Oxygen XML,但这需要花钱。 Netbeans有一个免费的XSLT插件,似乎可以工作,可能值得一试 – Kevan 2012-03-29 20:11:05