【问题标题】:XSLT read external XML filesXSLT 读取外部 XML 文件
【发布时间】:2018-09-12 16:30:21
【问题描述】:

我有一个包含其他 XML 文件路径的 XML 文件,例如:

<PATH>InsertPathHere</PATH>
<PATH>InsertPathHere</PATH>

有没有办法“打开”XML 文件并使用 XSLT 使用它们的数据? 我想获取单独文件中的数据并将它们与 XSLT 一起使用。

【问题讨论】:

    标签: xml xslt


    【解决方案1】:

    对于像这样的 XML 文件

    <?xml version='1.0' encoding='utf-8'?>
    <root>
      <PATH>InsertPath1Here.xml</PATH>
      <PATH>InsertPath2Here.xml</PATH>
    </root>
    

    以及像InsertPath1Here.xml这样的辅助XML文件

    <data>
        <value name="Value1">ABC</value>
    </data>
    

    InsertPath2Here.xml

    <data>
        <value name="Value2">DEF</value>
    </data>
    

    您可以像这样使用 XSLT 文件:

    <?xml version="1.0" encoding="UTF-8"?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="xml" omit-xml-declaration="yes" indent="yes"/>
    
      <xsl:template match="/root">
        <xsl:for-each select="document(PATH)">
            <xsl:copy-of select="data" />
        </xsl:for-each>
      </xsl:template>
    
    </xsl:stylesheet>
    

    创建(正确的)输出:

    <data>
        <value name="Value1">ABC</value>
    </data>
    <data>
        <value name="Value2">DEF</value>
    </data>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-14
      相关资源
      最近更新 更多