0
我已經閱讀了許多基於子節點對父節點進行排序的XSLT實現。但我沒有找到適合我的案例的工作解決方案。我想根據在多個級別上的子節點的(元素)值(稱爲「SortField」)對ElementRef節點進行排序。我有以下XML結構:XSLT - 根據多個級別上的子節點對父節點進行排序
<Root>
<OtherElement1></OtherElement1>
<Group>
<ID></ID>
<Name></Name>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>B</SortField>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>H</SortField>
<ElementRef>
[...]
</ElementRef>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>F</SortField>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>G</SortField>
</Element>
</ElementRef>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>C</SortField>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>A</SortField>
</Element>
</ElementRef>
</Group>
<OtherElement2></OtherElement2>
</Root>
而且結果應該是這樣的:
<Root>
<OtherElement1></OtherElement1>
<Group>
<ID></ID>
<Name></Name>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>A</SortField>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>B</SortField>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>F</SortField>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>G</SortField>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>H</SortField>
<ElementRef>
[...]
</ElementRef>
</Element>
</ElementRef>
</Element>
</ElementRef>
<ElementRef>
<ID></ID>
<Element>
<ID></ID>
<Name></Name>
<SortField>C</SortField>
</Element>
</ElementRef>
</Group>
<OtherElement2></OtherElement2>
</Root>
你能爲我提供了一個工作XSLT?
請注意:所有其他元素和屬性保持不變非常重要!
該解決方案對我不起作用。什麼都沒有排序。我從來沒有見過這樣的行:''。這可能是問題嗎? –
user3452015
@ user3452015,我已經添加了我爲您發佈的輸入獲取的輸出,該輸出已排序。 –
是的,你說得對,謝謝! – user3452015