我有一个关于在XPATH中加载属性的问题。 我编写了简短的XML代码来测试:
<?xml version="1.0" encoding="iso-8859-1"?>
<?xml-stylesheet type="text/xsl" href="testDate.xsl"?>
<element attribute="1/1/2100">
Hung
</element>
我的XSL代码:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--Handle the document: set up HTML page-->
<xsl:template match="/">
<html>
<head>
</head>
<body>
This is a test
<xsl:value-of select="element@attribute"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
为什么在加载样式表时会产生错误?你能帮我解释一下吗?谢谢
答案 0 :(得分:3)
您需要在@
中的<xsl:value-of />
之前添加斜杠。
您收到错误,因为element@attribute
无效XPath。将斜杠设置为表示您要:
element
的元素,然后找到attribute
的属性。以下修改后的样式表适用于我:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!--Handle the document: set up HTML page-->
<xsl:template match="/">
<html>
<head>
</head>
<body>
This is a test
<xsl:value-of select="element/@attribute"/>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
答案 1 :(得分:2)
我怀疑你的XPath属性是错误的。我认为应该是
element/@attribute
即。你应该用/
分隔element和@attribute