我需要一個XSL解決方案來用新節點替換XML節點。使用XSL替換具有新節點的XML節點
說我有以下現有的XML結構:
<root>
<criteria>
<criterion>AAA</criterion>
</criteria>
</root>
而且我想,以取代與一個標準的節點:
<criterion>BBB</criterion>
<criterion>CCC</criterion>
<criterion>DDD</criterion>
,使最終XML的結果是:
<root>
<criteria>
<criterion>BBB</criterion>
<criterion>CCC</criterion>
<criterion>DDD</criterion>
</criteria>
</root>
我已經嘗試過使用substring-before和substring-after來複制結構的前半部分,然後ju st複製下半部分(爲了填充兩個半部分之間的新節點),但似乎子字符串函數只識別節點標記之間的文本,而不是像我希望的那樣標記本身。 :(:(
任何其他解決辦法?
好問題(+1)。看到我的答案是一個正確和簡短的解決方案。請注意,目前接受的解決方案存在邏輯缺陷(它恰好適用於您的XML文檔,但通常會與其他XML文檔產生錯誤的結果)。 – 2010-06-01 21:59:18