我有一份糟糕的XML文件需要通过BizTalk进行处理,我已经将其归一化为下面的示例。虽然我不是XSLT专家,但在网络和VS2010调试器的帮助下,我可以找到自己的XSL解决方案。
现在我需要一个聪明的XSLT代码来“清除”重复元素,并仅保留最新的元素,这是由ValidFromDate属性中的日期决定的。
ValidFromDate属性是XSD:Date类型。
现在我需要一个聪明的XSLT代码来“清除”重复元素,并仅保留最新的元素,这是由ValidFromDate属性中的日期决定的。
ValidFromDate属性是XSD:Date类型。
<SomeData>
<A ValidFromDate="2011-12-01">A_1</A>
<A ValidFromDate="2012-01-19">A_2</A>
<B CalidFromDate="2011-12-03">B_1</B>
<B ValidFromDate="2012-01-17">B_2</B>
<B ValidFromDate="2012-01-19">B_3</B>
<C ValidFromDate="2012-01-20">C_1</C>
<C ValidFromDate="2011-01-20">C_2</C>
</SomeData>
经过转换后,我只想保留这些行:
<SomeData>
<A ValidFromDate="2012-01-19">A_2</A>
<B ValidFromDate="2012-01-19">B_3</B>
<C ValidFromDate="2012-01-20">C_1</C>
</SomeData>
有什么线索可以告诉我如何编写这个XSL吗?我已经在网上寻找解决方案很久了,尝试了很多聪明的XSL排序脚本,但没有一个让我感觉朝着正确的方向前进。
C_1
而不是C_2
? - Kirill Polishchuk