有没有办法使用xslt将父节点拆分成多个节点?
我想将源xml转换为目标。
来源xml
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<item>
<id>Some id</id>
<node1>
<node2 size="10.5" code="abcd"></node2>
<node2 size="10" code="cdef"></node2>
</node1>
</item>
</channel>
</rss>
目的地xml
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<item>
<id>Some id_10.5</id>
<size>10.5</size>
<code>abcd</code>
</item>
<item>
<id>Some id_10</id>
<size>10</size>
<code>cdef</code>
</item>
</channel>
</rss>
如果你注意到目标xml中节点id的值,它会附加一个下划线和大小。
答案 0 :(得分:0)
非常简单,不清楚你为何难以找到它。
<xsl:template match="node2">
<item>
<id><xsl:value-of select="../../id"/>_<xsl:value-of select="@size"/></id>
<size><xsl:value-of select="@size"/></size>
<code><xsl:value-of select="@code"/></code>
</item>
</xsl:template>
加上其他元素的一些简单的模板规则。