使用 XSLT 创建多个 XML 文件和文件夹



我正在尝试创建一个样式表,将XML转换为其他格式的XML,在此过程中,它应该创建多个XML文件,这些文件放在不同的文件夹中。我正在尝试处理的XML文件非常大(大约50000行),我想自动化它。所以我不必硬编码每一节。例如,如果我有一个简单的XML,如下所示:

<Site>
<element run="test1">
    <property name="aaa"/>
    <property name="bbb"/>
    <property name="ccc"/>
    <element run="test2">
        <property name="aaa"/>
        <property name="bbb"/>
        <property name="ccc"/>
        <element run="test3">
            <property name="aaa"/>
            <property name="bbb"/>
            <property name="ccc"/>
        </element>
    </element>
</element>

XSLT应该创建名为test1的文件夹,并将test2test3作为子文件夹(test1/test2/test3),其中XML由同一文件夹中的子节点property组成。因此,每个文件夹中都应该有小的XML。

尝试以下操作:

<xsl:template match="Site">
  <xsl:apply-templates select="//element"/>
</xsl:template>
<xsl:template match="element">
  <xsl:result-document href="{string-join(ancestor-or-self::element/@run, '/')}/properties.xml">
    <root>
      <xsl:copy-of select="property"/>
    </root>
  </xsl:result-document>
</xsl:template>

相关内容

  • 没有找到相关文章

最新更新