xml和xslt联合应用的问题
我的xslt文件很简单,但是在.net(c#)里边通过
XslTransform _Transform = new XslTransform();
_Transform.Load(Server.MapPath( "XSLTFile1.xslt "));
调用时却老是出现下边的错误,很郁闷:
System.Xml.Xsl.XsltCompileException: file:///D:/xml/exmDropDownList/XSLTFile1.xslt(10,6) : ---> System.Xml.Xsl.XsltException: “xsl:apply-template”不能是“body”元素的子级。
我的xslt文件如下:
<?xml version= "1.0 " encoding= "UTF-8 " ?>
<xsl:stylesheet version= "1.0 " xmlns:xsl= "http://www.w3.org/1999/XSL/Transform " >
<xsl:output method= 'html ' indent= 'yes ' doctype-public= '-//W3C//DTD FTML 3.2 Final//EN '/>
<xsl:template match= "/ ">
<html>
<head>
<title> lizi </title>
</head>
<body>
<xsl:apply-template select= "//item "/>
</body>
</html>
</xsl:template>
<xsl:template match= "item ">
<div>
Name= <xsl:value-of select= "@id "/> ,
Quantity= <xsl:value-of select= "quantity "/>
</div>
</xsl:template>
</xsl:stylesheet>
我觉得这样没错啊,怎么老是又那样的问题呢?
[解决办法]
<xsl:apply-template select= "//item "/>
试一下
<xsl:apply-templates select= "//item "/>
[解决办法]
因为 <xsl:apply-template〉是建立一个模板,属性中没有select而 <xsl:apply-templates〉用来执行那一个节点被模板具体处理。