0
不同儿童的内容我有以下XML文件:XSLT获得具有相同节点名称
<?xml version="1.0" encoding="UTF-8"?>
<group>
<List>
<id_num>1</id_num>
<car>cars</car>
<value>
<color>green</color>
<name>nissan</name>
</value>
<value>
<color>yellow</color>
<name>renault</name>
</value>
<value>
<color>black</color>
<name>ford</name>
</value>
<value_number>3</value_number>
</List>
<List>
<id_num>2</id_num>
<car>cars</car>
<value>
<color>blu</color>
<name>porsche</name>
</value>
<value>
<color>white</color>
<name>volvo</name>
</value>
<value_number>2</value_number>
</List>
</group>
使用XSLT我想在节点内得到孩子的不同内容(颜色和名称) “值”,即使它具有相同的名字复制
所需的输出应该是这样的XML文件:我无法分辨牛逼
<?xml version="1.0" encoding="UTF-8"?>
<group>group1</group>
<List>
<cars_1>
<car>
<color_info>green</color_info>
<brand_name>nissan</brand_name>
</car>
<car>
<color_info>yellow</color_info>
<brand_name>renault</brand_name>
</car>
<car>
<color_info>black</color_info>
<brand_name>ford</brand_name>
</car>
</cars_1>
<cars_2>
<car>
<color_info>blu</color_info>
<brand_name>porsche</brand_name>
</car>
<car>
<color_info>white</color_info>
<brand_name>volvo</brand_name>
</car>
</cars_2>
</List>
当我尝试使用 他与不同的内容,并作为结果的内容复制
此不同的节点是输出我用我的XSL文件得到
<?xml version="1.0" encoding="utf-8"?>
<group>group1</group><List>
<cars_1>
<car>
<color_info>green</color_info>
<brand_name>nissan</brand_name>
</car>
<car>
<color_info>yellow</color_info>
<brand_name>renault</brand_name>
</car>
<car>
<color_info>black</color_info>
<brand_name>ford</brand_name>
</car>
</cars_1>
<cars_2>
<car>
<color_info>blu</color_info>
<brand_name>porsche</brand_name>
</car>
<car>
<color_info>white</color_info>
<brand_name>volvo</brand_name>
</car>
</cars_2>
</List><group>group1</group><List>
<cars_1>
<car>
<color_info>blu</color_info>
<brand_name>porsche</brand_name>
</car>
<car>
<color_info>yellow</color_info>
<brand_name>renault</brand_name>
</car>
<car>
<color_info>black</color_info>
<brand_name>ford</brand_name>
</car>
</cars_1>
<cars_2>
<car>
<color_info>blu</color_info>
<brand_name>porsche</brand_name>
</car>
<car>
<color_info>white</color_info>
<brand_name>volvo</brand_name>
</car>
</cars_2>
</List>
获得:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="xml" indent="yes" encoding="utf-8" />
<xsl:template match="/" >
<xsl:for-each select="group/List">
<group>group1</group>
<List>
<cars_1>
<car>
<color_info><xsl:value-of select="value/color"/>
</color_info>
<brand_name><xsl:value-of select="value/name"/></brand_name>
</car>
<car>
<color_info>yellow</color_info>
<brand_name>renault</brand_name>
</car>
<car>
<color_info>black</color_info>
<brand_name>ford</brand_name>
</car>
</cars_1>
<cars_2>
<car>
<color_info>blu</color_info>
<brand_name>porsche</brand_name>
</car>
<car>
<color_info>white</color_info>
<brand_name>volvo</brand_name>
</car>
</cars_2>
</List>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
在此先感谢
这似乎是一个简单的任务,使用'“或''。如果你不能使它工作,发布你的尝试,以便我们可以修复它,而不必从头开始为你写代码。 - P.S.一般来说,编号为'cars_1','cars_2'的元素是不好的XML设计。 –
@ michael.hor257k我添加了我的xsl文件。 你能否为我的xml建议我一个更好的设计? 谢谢 –