如何使用xsl文件从xml文件中获取值 - 文件位于不同的目录中

时间:2015-03-02 15:34:17

标签: xml xslt xslt-1.0

我是xml和xsl的新手,我在网上到处都看,我知道这可能是一个直截了当的答案,但我似乎无法让它工作。我遇到的问题是我有一个.xml文件和一个.xsl文件(两者都在完全不同的目录中),我试图从.xml文件中获取数据,但是当我在IE浏览器中查看它时;我只是得到一个空白的屏幕。请帮忙。

的test.xml

<root>
 <tags>abc</tags>
 <tags>def</tags>
 <tags>ghi</tags>
 <tags>jkl</tags>
 <tags>mno</tags>
 <tags>qpr</tags>
</root>

Test.xsl

 <?xml version="1.0" encoding="UTF-8"?>
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

 <xsl:variable name="file" select="'C:\Test.xml'"/>
 <xsl:variable name="info" select="document($file)/root/tags"/>

 <xsl:template match="/">
  <xsl:for-each select="tags">
   <xsl:value-of select="$info"/>
  </xsl:for-each>
 </xsl:template>                

</stylesheet>

输出应为:

abcdefghijklmnopqr

1 个答案:

答案 0 :(得分:0)

XSLT使用的是URL而不是文件路径,因此我将从<xsl:variable name="file" select="'file:///C:/Test.xml'"/>开始。但是现在有可能对本地文件系统访问的安全限制妨碍了对它的免费导航和访问,因此请确保检查错误控制台是否显示任何消息。