在XSLT中获取XML元素

时间:2013-10-30 02:32:48

标签: javascript xml xslt

我想在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>

3 个答案:

答案 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: