我会使用XSLT转换XSLT转换
首先到第一个XML转换成第二个:
<Data>
<Time>
<ID>IDvalue1</ID>
<field1>PropertyValue1</field1>
<field2>PropertyName1</field2>
</Time>
<Time>
<ID>IDvalue2</ID>
<field1>PropertyValue2</field1>
<field2>PropertyName1</field2>
</Time>
<Time>
<ID>IDvalue1</ID>
<field1>PropertyValue3</field1>
<field2> PropertyName2</field2>
</Time>
<Time>
<ID>IDvalue2</ID>
<field1>PropertyValue4</field1>
<field2>PropertyName2</field2>
</Time>
</Data>
....
二:
<Data>
<Time>
<ID>IDvalue1</ID>
<PropertyName1>PropertyValue1</PropertyName1>
<PropertyName2>PropertyValue3</PropertyName2>
</Time>
<Time>
<ID>IDvalue2</ID>
<PropertyName1>PropertyValue2</ PropertyName1>
<PropertyName2>PropertyValue4</PropertyName2>
</Time>
</Data>
.....
在第一个XML那里的数ID节点具有相同的值。在第二个XML中,它们被编译成单个节点。在第一个XML中的每个ID后面都有field1和field2节点。在第二个XML中,必须创建新的节点,其中field2是标记名称,field1是value。这些新节点是从具有相同值的所有ID节点收集的。
你能帮我写XSLT代码吗?
您可以在SO找到很多关于分组的问题/答案。但是,如果您是XSLT新手,分组可能很难理解并适用于您的用例。 +1为你明确的问题。 –