我不太确定如何提出这个问题,或者它是否存在,但我需要合并两个XElement,其中一个优先于另一个,成为一个元素。
首选的语言是VB.NET和Linq,但如果它演示了如何做到这一点而无需手动拆分和解决每个元素和属性,则任何语言都将有所帮助。
例如,假设我有两个元素。请对它们的差异感到幽默。
合并的结果将会是:
注意几点:#1的
首选的语言是VB.NET和Linq,但如果它演示了如何做到这一点而无需手动拆分和解决每个元素和属性,则任何语言都将有所帮助。
例如,假设我有两个元素。请对它们的差异感到幽默。
<HockeyPlayer height="6.0" hand="left">
<Position>Center</Position>
<Idol>Gordie Howe</Idol>
</HockeyPlayer>
2.
<HockeyPlayer height="5.9" startinglineup="yes">
<Idol confirmed="yes">Wayne Gretzky</Idol>
</HockeyPlayer>
合并的结果将会是:
<HockeyPlayer height="6.0" hand="left" startinglineup="yes">
<Position>Center</Position>
<Idol confirmed="yes">Gordie Howe</Idol>
</HockeyPlayer>
注意几点:#1的
height
属性值覆盖了#2。 hand
属性和值只是从#1复制过来(在#2中不存在)。 #2中的startinglineup
属性和值被复制(在#1中不存在)。 #1中的Position
元素被复制(在#2中不存在)。 #1中的Idol
元素值覆盖了#2,但是#2的confirmed
属性(在#1中不存在)被复制。
总的来说,在冲突的情况下(意味着两者具有相同的元素和/或属性),#1优先于#2,并且在没有冲突的情况下,它们都复制到最终结果中。
我尝试搜索此内容,但似乎找不到任何东西,可能是因为我使用的单词太通用了。 有什么想法或解决方案(特别是对于Linq)吗?