【发布时间】:2012-10-18 13:59:14
【问题描述】:
我有一个包含许多数据项的 XDocument。
我有另一个 XDocument,其中包含非常小的数据项集合。较小文档中的数据项在匹配路径处具有较大文档中的对应元素。
我想要做的是循环遍历较小的文档,并且对于我发现的每个元素,我都想更新较大的文档,以便将其对应的值替换为较小的文档的值。
例如较大的文档:
<Rootelement>
<Desktop>
<A>
<El1 label="original blah" />
</A>
</Desktop>
<Desktop>
<B>
<El2 />
</B>
</Desktop>
<Desktop>
<C>
<El3 label="I'm the label" tooltip="I'm the tooltip" />
</C>
</Desktop>
</Rootelement>
较小的文档:
<Rootelement>
<Desktop>
<C>
<El3 label="The NEW Label" tooltip="The NEW Tooltip" />
</C>
</Desktop>
</Rootelement>
我想取路径Rootelement/Desktop/C/El3处的元素,并将大文档中相同路径的元素替换为小文档中的元素,所以大文档变为:
<Rootelement>
<Desktop>
<A>
<El1 label="original blah" />
</A>
</Desktop>
<Desktop>
<B>
<El2 />
</B>
</Desktop>
<Desktop>
<C>
<El3 label="The NEW Label" tooltip="The NEW Tooltip" />
</C>
</Desktop>
</Rootelement>
对我来说最好的方法是什么?
【问题讨论】:
标签: c# xml linq-to-xml