如何使用 xsl 文件从 xml 文件中获取值 - 这些文件位于不同的目录中
How do I get a value from an xml file by using an xsl file - the files are in different directories
我是 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
嗯,XSLT 使用 URL 而不是文件路径,所以我将从 <xsl:variable name="file" select="'file:///C:/Test.xml'"/>
开始。但如今,对本地文件系统访问的安全限制可能会妨碍自由导航和访问,因此请确保检查错误控制台是否显示任何消息。
我是 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
嗯,XSLT 使用 URL 而不是文件路径,所以我将从 <xsl:variable name="file" select="'file:///C:/Test.xml'"/>
开始。但如今,对本地文件系统访问的安全限制可能会妨碍自由导航和访问,因此请确保检查错误控制台是否显示任何消息。