我想在XSL中找到XML元素的值。我的JS选择了一个XML文档,但是其他一些元素需要我得到。
我不确定这是否可行,或者我的语法错误。
这就是我所拥有的。
<td>
<xsl:value-of select="document(newXMLfile.xml)/Customers/customer/type" />
</td>
新文件的XML看起来像这样
<?xml version="1.0" encoding="utf-8" ?>
<Customers>
<customer>
<Order>12000</Order>
<ID>200</ID>
<Date>1 Sep 2010</Date>
<type>true</type>
</customer>
</Customers>
答案 0 :(得分:0)
使用引号:
<xsl:value-of select="document('newXMLfile.xml')/Customers/customer/type" />
答案 1 :(得分:0)
调用document()的一个好的调试技术是使用调用
<div id="debug">
<xsl:copy-of select="document('newXMLfile.xml')"/>
</div>
将文档直接复制到输出。这将帮助您确定问题是在阅读文档还是选择其中的节点。
答案 2 :(得分:0)
(1)请务必在日志/控制台中查看并提及任何错误消息。如果您没有直接从命令行运行XSLT处理器,这一点尤其重要。 (你提到在JavaScript中运行它。)
(2)确保正在读取您的XML侧文档文件。您可以将指定给document()
的文件名更改为您确定不存在的文件名(例如document('XXX_newXMLfile.xml')
),以验证在未正确指定文件时您是否看到了相应的错误消息。如果必须指定本地文件的路径,请使用以下表示法:
'file:///path/newXMLfile.xml'
是的,这是file:
之后的三个斜杠。在Windows上,path
通常会包含驱动器名称,例如c:
。