我定义了一个类似于以下内容的 xml 行集:
<root>
<dataset1>
<rows>
<row id="0" title="Some Title" lookupValues="1;#Something1;#2;#Something2"/>
<row id="1" title="Some other title" lookupValues="1;#Something1;#3;#Something3"/>
</rows>
</dataset1>
<dataset2>
<rows>
<row id="1" lookupValue="Something1" anotherValue="ThisOne"/>
<row id="2" lookupValue="Something2" anotherValue="ThatOne"/>
<row id="3" lookupValue="Something3" anotherValue="TheOtherOne"/>
<row id="4" lookupValue="Not Something"/>
</rows>
</dataset2>
</root>
我正在尝试将其转换为更像以下的格式:
<newroot>
<rows>
<row uniqueid="1" id="0" title="Some Title" lookupValue="Something1" anotherValue="ThisOne"/>
<row uniqueid="2" id="0" title="Some Title" lookupValue="Something2" anotherValue="ThatOne"/>
<row uniqueid="3" id="1" title="Some other title" lookupValue="Something1" anotherValue="ThisOne"/>
<row uniqueid="4" id="1" title="Some other title" lookupValue="Something3" anotherValue="TheOtherOne"/>
</rows>
</newroot>
注意重复的行;这是应用程序的要求。还要注意丢失的lookupValue 行的删除。
有谁知道实现这种转变的真正有效方法?
谢谢。
更新:我应该更清楚我想要完成的事情。我添加了一些信息以更好地说明我正在寻找的合并类型。
更新 2:给出的答案可能有效,只是原始数据集中存在错误;即lookupValues
属性的格式。分隔符略有不同,因为源 XML 除了实际查找文本之外还包含索引号。