我得到這個XML(「其他」元素有不同的名稱,只是跳過他們爲清楚起見):如何根據不同元素的值過濾xml元素?
<root>
<elements1>
<element>
<id>1</id>
<other>a</other>
<other>b</other>
<other>c</other>
</element>
<element><id>2</id>
<other>a</other>
<other>b</other>
<other>c</other>
</element>
<element><id>3</id>
<other>a</other>
<other>b</other>
<other>c</other>
</element>
</elements1>
<elements2>
<element>
<id2>1</id2>
<other2>a</other2>
<other2>b</other2>
<other2>c</other2>
</element>
<element>
<id2>2</id2>
<other2>a</other2>
<other2>b</other2>
<other2>c</other2>
</element>
<elements2>
</root>
我需要那麼就說明這樣的事情對其進行過濾:
<root>
<elements>
<element>
<id>1</id>
<id2>1</id2>
<other>a</other>
<other>b</other>
<other>c</other>
<other2>a</other2>
<other2>b</other2>
<other2>c</other2>
</element>
<element>
<id>2</id>
<id2>2</id2>
<other>a</other>
<other>b</other>
<other>c</other>
<other2>a</other2>
<other2>b</other2>
<other2>c</other2>
</element>
</elements>
</root>
所以它應該將兩個不同元素的子元素放在一起,並將它們作爲一個由id和id2過濾的元素。
不知道該怎麼做。我試過兩個for-each元素來過濾xml,但它不起作用。
它是一個分組的問題。您可以使用XSLT 2.0和XSLT 2.0處理器(如Saxon 9或AltovaXML)嗎?然後使用for-each-group select =「// element」group-by =「id,id2」'。使用XSLT 1.0閱讀Muenchian分組http://www.jenitennison.com/xslt/grouping/muenchian.xml。 –