给定一个包含以下内容的 XML 变量:
<Root>
<Parent>
<ItemID>28</ItemID>
<Child>
<ItemID>28</ItemID>
</Child>
<Child>
<ItemID>28</ItemID>
</Child>
</Parent>
<Parent>
<ItemID>38</ItemID>
<Child>
<ItemID>38</ItemID>
</Child>
</Parent>
</Root>
我需要将每个 /Root/Parent/ItemID 值替换为从 -1 开始的递减数字,然后将每个 Child/ItemID 替换为其父 ItemID 元素中的值。例如,上面的 XML 应该被转换成这样:
<Root>
<Parent>
<ItemID>-1</ItemID>
<Child>
<ItemID>-1</ItemID>
</Child>
<Child>
<ItemID>-1</ItemID>
</Child>
</Parent>
<Parent>
<ItemID>-2</ItemID>
<Child>
<ItemID>-2</ItemID>
</Child>
</Parent>
</Root>
在 c# 中很容易做到,我很难在 SQL Server 中获得正确的语法。不幸的是,我必须这样做才能使用遗留系统。