0
我想要使用多个头,细节和浏览更详细信息的节点将XML。每个节点都包含关键的“ID”以将它们连接在一起。
这似乎很简单,但它不适合我。XSLT基的基于ID值子
开始与下面的XML:
<?xml version="1.0" encoding="UTF-8"?>
<File>
<Header>
<Id>1</Id>
<Other>How</Other>
</Header>
<Detail>
<Id>1</Id>
<Other>to</Other>
</Detail>
<MoreDetails>
<Id>1</Id>
<Other>group</Other>
</MoreDetails>
<Header>
<Id>2</Id>
<Other>How</Other>
</Header>
<Detail>
<Id>2</Id>
<Other>to</Other>
</Detail>
<MoreDetails>
<Id>2</Id>
<Other>group</Other>
</MoreDetails>
<MoreDetails>
<Id>2</Id>
<Other>may have multiples</Other>
</MoreDetails>
</File>
生成类似以下或者与组1,组2等,或组值= 1,组值= 2等
<?xml version="1.0" encoding="UTF-8"?>
<File>
<Group value="1">
<Header>
<Id>1</Id>
<Other>How</Other>
</Header>
<Detail>
<Id>1</Id>
<Other>to</Other>
</Detail>
<MoreDetails>
<Id>1</Id>
<Other>group</Other>
</MoreDetails>
</Group>
<Group value="2">
<Header>
<Id>2</Id>
<Other>How</Other>
</Header>
<Detail>
<Id>2</Id>
<Other>to</Other>
</Detail>
<MoreDetails>
<Id>2</Id>
<Other>group</Other>
</MoreDetails>
<MoreDetails>
<Id>2</Id>
<Other>with multiple child</Other>
</MoreDetails>
</Group>
</File>
我开始与这样的事情,
<xsl:template match="/File">
<xsl:for-each-group select="./child::*" group-by="Id">
<xsl:variable name="ID" select="Id"/>
<xsl:value-of select="current-grouping-key()"/>
和变化使用变量和键名称,但我不是能够按照指定输出。
任何想法非常欢迎。 在此先感谢 -ac
这伟大工程。我最近的是这个(下面),但最后一个节点没有正确形成。感谢您的完美解决方案。 – user1375987
啊,不能发布我的XSL ..你是无论如何更好。再次感谢。 – user1375987