2017-04-12 55 views
0

這是我工作的示例XML:XSLT:如何做GROUP_BY?

<NewDataSet> 
    <Table> 
    <content_id>ID_001</content_id> 
    <record_id>Value_1</record_id> 
    </Table> 
    <Table> 
    <content_id>ID_001</content_id> 
    <record_id>Value_2</record_id> 
    </Table> 
    <Table> 
    <content_id>ID_002</content_id> 
    <record_id>Value_3</record_id> 
    </Table> 
</NewDataSet> 

我想這轉化爲

<Results> 
    <Record> 
     <id>ID_001 
     </id> 
     <item>Value_1 
     </item> 
     <item>Value_2 
     </item> 
    </Record> 
    <Record> 
     <id>ID_002 
     </id> 
     <item>Value_3 
     </item> 
    </Record> 
</Result> 

是什麼造成的麻煩是,我無法做到在一個GROUP BY <content_id> XSL來獲得結果。

我可以得到這方面的幫助嗎?

+0

查找我添加的標籤[_muenchian-grouping_](http://stackoverflow.com/questions/tagged/muenchian-grouping)以找到解決問題的方法。 – zx485

回答

0

您沒有指定XSLT的版本,但是如果您可以使用版本2.0,那麼請使用for-each-group

參見例如http://www.w3.org/TR/xslt20/#element-for-each-group(或者web上的無數例子,甚至在stacktrace上)。

要獲得正確的分組,請使用group-by="Table/content_id"屬性。

+0

謝謝!這個如果爲1.0。 – Swayam

+0

我得到了這個分組的條款。這將有所幫助,但如何爲擁有兩個單獨的元素。即 ID_001 _1 VALUE_2 基的通過將具有這兩個值值_1和值_2在一起。我希望它們作爲獨立項目被分組在content_id下 – Swayam