2013-06-25 49 views
2

我有这样一个文件 -使用XSLT把围绕XML标签的包装元素

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

我想的东西,如“项目”绕到它,所以它看起来像这样

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

如果可能,我宁愿选择一个通用的解决方案,以便使用“id”和“name”以外的标签。这可能通过XSLT?

+0

这不适用于xlst,因为您的输入XML格式不正确(缺少根元素)。 –

+0

尝试发布所有你真正的XML。 –

回答

0

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

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

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

我收到错误“元素上不允许使用属性@select” – Narabhut

+0

您是对的。我有一段时间没有完成XSLT。我认为'select =“。”'隐含在'' – austin

3

带XSLT的包装元素通常不是什么大问题。但随着你的意见,这将无法正常工作。

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