使用XSLT将包装元素放在XML标记周围

时间:2013-06-25 14:57:46

标签: xml xslt xml-parsing

我有一个这样的文件 -

<item>
    <id>5</id>
    <name>Bob</name>
</item>
<item>
    <id>6</id>
    <name>Harry</name>
</item>

我想用&#34; items&#34;这样的东西包裹它。所以它看起来像这样

<items>
    <item>
        <id>5</id>
        <name>Bob</name>
    </item>
    <item>
        <id>6</id>
        <name>Harry</name>
    </item>
</items>

如果可能的话,我更喜欢一般的解决方案,因此它适用于&#34; id&#34;以外的标签。和&#34;名称&#34;。这可以通过XSLT吗?

2 个答案:

答案 0 :(得分:3)

通常使用XSLT包装元素并不是什么大问题。但是根据您的输入,这将无法正常工作。

XSLT需要格式良好的XML 作为输入,并且由于缺少顶级元素,您的XML格式不正确。

答案 1 :(得分:0)

不是最有创意的解决方案,但它应该包装它。

<xsl:template match="/">
    <items>
        <xsl:apply-templates select="item" />
    </items>
</xsl:template>

<xsl:template match="item">
    <xsl:copy />
</xsl:template>