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