如果xmldocument中存在属性,则将其删除

nav*_*100 7 c# xml xmldocument

如果文档中存在属性,如何从XmlDocument中删除属性?请帮忙.我正在使用RemoveAttribute但是如何检查它是否存在.

root.RemoveAttribute(fieldName的);

谢谢..

 <?xml version="1.0" standalone="yes" ?> 
 <Record1>
  <Attribute1 Name="DataFieldName" Value="Pages" /> 
 </Record1> 
Run Code Online (Sandbox Code Playgroud)

我想删除名为"DataFieldName"的属性.

Gra*_*ICA 14

不确定你想要做什么,所以这里有两个例子.

删除属性:

var doc = new System.Xml.XmlDocument();
doc.Load("somefile.xml");
var root = doc.FirstChild;

foreach (System.Xml.XmlNode child in root.ChildNodes)
{
    if (child.Attributes["Name"] != null)
        child.Attributes.Remove(child.Attributes["Name"]);
}
Run Code Online (Sandbox Code Playgroud)

将属性设置为空字符串:

var doc = new System.Xml.XmlDocument();
doc.Load("somefile.xml");
var root = doc.FirstChild;

foreach (System.Xml.XmlNode child in root.ChildNodes)
{
    if (child.Attributes["Name"] != null)
        child.Attributes["Name"].Value = "";
}
Run Code Online (Sandbox Code Playgroud)

编辑:如果您详细说明原始请求,我可以尝试修改我的代码.XML文档只能有一个根节点,而您的根节点似乎是record1.那么这是否意味着您的整个文件只包含一条记录?或者你的意思是有类似的东西

<?xml version="1.0" standalone="yes" ?>
<Records>
    <Record>
        <Attribute Name="DataFieldName" Value="Pages" />
    </Record>
    <Record>
        <Attribute Name="DataFieldName" Value="Pages" />
    </Record>
</Records>
Run Code Online (Sandbox Code Playgroud)