删除使用XDocument选择Descenant的XML名称空间

时间:2018-03-22 12:21:28

标签: c# xml

XML文件

<?xml version="1.0" encoding="UTF-8"?>
<GovTalkMessage xmlns="http://www.govtalk.gov.uk/CM/envelope">
   <EnvelopeVersion>2.0</EnvelopeVersion>
   <Header>
   </Header>
   <Body>
      <IRenvelope xmlns="http://www.govtalk.gov.uk/taxation/charities/r68/2">
      </IRenvelope>
   </Body>
</GovTalkMessage>

我只使用以下代码选择Body元素(XmlDocument是作为XDocument解析的xml文件)

var xmlBody = XmlDocument.Descendants().SingleOrDefault(i => i.Name.LocalName == "Body");

当我查看xmlBody时,它添加了父命名空间

<Body xmlns="http://www.govtalk.gov.uk/CM/envelope">
     <IRenvelope xmlns="http://www.govtalk.gov.uk/taxation/charities/r68/2">
     </IRenvelope>
 </Body>

我将xmlBody从XElement转换为XmlNode,然后为另一个进程散列主体,因此需要从body元素中删除命名空间。 如何删除命名空间或阻止添加命名空间?

0 个答案:

没有答案