给定以下XML片段,对于每个需要检查的不同ElementID,如果其中一个元素中的CurrentValue不同,则使用更改后的值更新所有CurrentValues。XQUERY更新XML参数
<im:Element>
<im:ElementID>1</im:ElementID>
<im:CurrentValue>OldValue1</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>1</im:ElementID>
<im:CurrentValue>OldValue1</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>1</im:ElementID>
<im:CurrentValue>NewValue1</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>2</im:ElementID>
<im:CurrentValue>OldValue2</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>2</im:ElementID>
<im:CurrentValue>NewValue2</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>2</im:ElementID>
<im:CurrentValue>OldValue2</im:CurrentValue>
</im:Element>
-----
结果应该是
<im:Element>
<im:ElementID>1</im:ElementID>
<im:CurrentValue>NewValue1</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>1</im:ElementID>
<im:CurrentValue>NewValue1</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>1</im:ElementID>
<im:CurrentValue>NewValue1</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>2</im:ElementID>
<im:CurrentValue>NewValue2</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>2</im:ElementID>
<im:CurrentValue>NewValue2</im:CurrentValue>
</im:Element>
<im:Element>
<im:ElementID>2</im:ElementID>
<im:CurrentValue>NewValue2</im:CurrentValue>
</im:Element>
-----
这似乎更适合XSLT。你可以使用XSLT吗? – 2013-02-20 06:32:24
如果您有几个具有相同元素ID和不同值的im元素元素,您如何知道哪个元素发生了更改并因此包含新值?应该将序列中的最后一个值传播到该元素类型的所有事件中?或者,新值都以字符串“NewValue”开始的关键是......? – 2013-02-21 00:47:54
查找元素的newValue的方法是检查与该特定元素ID的所有出现中的值不同的唯一值。 – cornerstone 2013-02-21 08:47:28