我有一个像这样的XML结构:
<root>
<prices>....</prices>
<image1>
<img1>....</img1>
</image1>
<image2>
<img2>....</img2>
</image2>
<image3>
<img3>....</img3>
</image3>
<data>....</data>
</root>
但是我需要将image1,image2和image3移动到根节点的末尾,所以它看起来像这样
<root>
<prices>....</prices>
<data>....</data>
<sab>
<sab1>
<store>
<tab>
<cell1>...</cell1>
<cell2>
<image1>
<img1>....</img1>
</image1>
<image2>
<img2>....</img2>
</image2>
<image3>
<img3>....</img3>
</image3>
<cell2>
<tab>
<store>
<sab1>
<sab>
</root>
我尝试了一切,但无法使其正常工作。
答案 0 :(得分:0)
您发布的所需结果以<tab><store><sab1><sab></root>
结尾,这是一个格式不正确的XML,包含<tab>
之类的所有开始标记。假设你想要
<root>
<prices>....</prices>
<data>....</data>
<sab>
<sab1>
<store>
<tab>
<cell1>...</cell1>
<cell2>
<image1>
<img1>....</img1>
</image1>
<image2>
<img2>....</img2>
</image2>
<image3>
<img3>....</img3>
</image3>
</cell2>
</tab>
</store>
</sab1>
</sab>
</root>
您将为根元素设置模板
<xsl:template match="root">
<xsl:copy>
<xsl:copy-of select="node()[not(self::image1 | self::image2 | self::image3)]"/>
<sab>
<sab1>
<store>
<tab>
<cell1>...</cell1>
<cell2>
<xsl:copy-of select="image1 | image2 | image3"/>
</cell2>
</tab>
</store>
</sab1>
</sab>
</xsl:copy>
</xsl:template>