获取 XSLT 中的 XML 元素

Getting an XML element inside XSLT

本文关键字:元素 XML 中的 XSLT 获取      更新时间:2023-09-26

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

使用引号:

<xsl:value-of select="document('newXMLfile.xml')/Customers/customer/type" />

调用 document() 的一个很好的调试技术是使用

<div id="debug">
  <xsl:copy-of select="document('newXMLfile.xml')"/>
</div>

将文档直接复制到输出。这将帮助您确定问题是在阅读文档还是在选择其中的节点时。

(1) 请务必在日志/控制台中看到并提及任何错误消息。 如果不直接从命令行运行 XSLT 处理器,这一点尤其重要。 (你提到从JavaScript中运行它。

(2) 确保正在读取 XML 端文档文件。 您可以将提供给document()的文件名更改为您确定不存在的名称(例如 document('XXX_newXMLfile.xml') ) 以验证在未正确指定文件时是否看到相应的错误消息。 如果必须指定本地文件的路径,请使用以下表示法:

'file:///path/newXMLfile.xml'

是的,那是file:之后的三个斜杠. 在 Windows 上,path通常包括驱动器名称,例如 c: