微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如果xmldocument中存在属性,则删除该属性

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

root.RemoveAttribute(fieldName的);

谢谢..

<?xml version="1.0" standalone="yes" ?> 
 <Record1>
  <Attribute1 Name="datafieldName" Value="Pages" /> 
 </Record1>

我想删除名为“datafieldName”的属性.

解决方法

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

删除属性

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"]);
}

属性设置为空字符串:

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 = "";
}

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

<?xml version="1.0" standalone="yes" ?>
<Records>
    <Record>
        <Attribute Name="datafieldName" Value="Pages" />
    </Record>
    <Record>
        <Attribute Name="datafieldName" Value="Pages" />
    </Record>
</Records>

原文地址:https://www.jb51.cc/csharp/97613.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐