【发布时间】:2014-04-29 12:35:48
【问题描述】:
给定
<Message xmlns:cm="somenamespace">
<Person>
<cm:Name>John Doe</cm:Name>
</Person>
</Message>
我得到一个 XML 片段文件,其中包含以下内容(我们称之为 Fragment.xml)。
<Person>
<cm:Name>Jane Doe</cm:Name>
</Person>
我在 XElement 对象中有原始 Person 元素,我希望用片段替换它。
original.ReplaceWith(XElement.Load("Fragment.xml"));
问题是 XElement.Load 失败,因为它不知道在根节点声明的“cm”命名空间。此外,XElement 不允许我设置内部 XML。我知道这是修改 XML 的一种有点非正统的方式(我敢说是滥用),但这是我必须忍受的。
【问题讨论】:
标签: xml xml-parsing linq-to-xml xelement