下面是我当前XML的示例:
<products>
<product>
<id>1</id>
<name>Name 1</name>
<price>10.00</price>
<size>M</size>
<link>http://link1.com</link>
<stock>1</stock>
</product>
<product>
<id>1</id>
<name>Name 1</name>
<price>10.00</price>
<size>L</size>
<link>http://link1.com</link>
<stock>3</stock>
</product>
<product>
<id>1</id>
<name>Name 1</name>
<price>10.00</price>
<size>XL</size>
<link>http://link1.com</link>
<stock>2</stock>
</product>
<product>
<id>2</id>
<name>Name 2</name>
<price>30.00</price>
<size>M</size>
<link>http://link2.com</link>
<stock>3</stock>
</product>
<product>
<id>2</id>
<name>Name 2</name>
<price>30.00</price>
<size>L</size>
<link>http://link2.com</link>
<stock>2</stock>
</product>
</products>
我希望根据id
合并每个产品,并使用XSLT删除重复项。
如果id
相同,则节点name
,price
和link
始终相同。
如果size
相同,则节点stock
和id
可以不同。对于这些节点(size
和stock
),这些值应总结到节点中(以逗号分隔)。
结果应如下所示:
<products>
<product>
<id>1</id>
<name>Name 1</name>
<price>10.00</price>
<size>M,L,XL</size>
<link>http://link1.com</link>
<stock>1,3,2</stock>
</product>
<product>
<id>2</id>
<name>Name 2</name>
<price>30.00</price>
<size>M,L</size>
<link>http://link2.com</link>
<stock>3,2</stock>
</product>
</products>
我已经搜索并尝试了几种解决方案,但无法解决这个问题。
有没有人可以帮助我?
谢谢!