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