如何从XmlDocument中删除特定属性

时间:2015-06-03 13:25:35

标签: c#-4.0 linq-to-xml

我的Xml如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<order>
    <class>
      <about></about>
    </class>
    <dataset>
       <subjects>
          <subject>
            <addresses>
              <address/>
            </addresses>
           </subject>
        </subjects>            
    </dataset>        
 </order>

要重新排序xml元素并添加命名空间,我按照以下方式执行:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<order>
    <class>
      <about></about>
    </class>
    <dataset>
       <subjects>
          <subject>                
           </subject>
        </subjects>
        <addresses>
              <address/>
        </addresses>            
    </dataset>        
 </order>

我使用了以下代码

XmlNamespaceManager nsmgr = new XmlNamespaceManager(xmlClueReqToLexisNexis.NameTable);
nsmgr.AddNamespace("ab", "http://example.com/abc");
XmlNode order = xmlClueReqToLexisNexis.SelectSingleNode("//ab:order", nsmgr);
XmlNode dataset = xmlClueReqToLexisNexis.SelectSingleNode("//ab:order//ab:dataset", nsmgr);
var subjects = order.SelectSingleNode("//ab:order//ab:dataset//ab:subjects", nsmgr);

我可以重新排序并添加名称空间,但它留下了xmlns属性 如下:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<order>
    <class>
      <about></about>
    </class>
    <dataset>
       <subjects>
          <subject xmlns="">                
           </subject>
        </subjects>
        <addresses xmlns="">
              <address/>
        </addresses>            
    </dataset>        
 </order>

我想只删除地址和主题

中的属性xmlns =“”

请建议我最好的方法。

0 个答案:

没有答案