C#对XML进行操作

C#操作XML时,要引入命名空间using System.Xml

获取根节点的方法:
1、知道根节点名称:
XmlNode root = xmlDoc.SelectSingleNode("根节点名称");
2、不知道根节点名称:
XmlElement root = xmlDoc.DocumentElement;

 

xml中node(节点)和element(元素)的区别(还是不太明白)
1、element是一个小范围的定义,必须含有完整信息的结点才能叫做元素。例如:<div>内容</div>,一个元素一定是一个节点,一个节点不一定是一个元素。
2、node是基本对象,attribute,element,text等都是node的子对象。

 

创建节点
1、CreateElement() 方法
有一个参数,两个参数,三个参数三种重载,参数类型均为string。
一个参数:CreateElement("元素名称")
两个参数:CreateElement("元素名称","元素的命名空间")
三个参数:CreateElement("元素的前缀","元素的名称","元素的命名空间")
2、CreateNode() 方法
三个参数 都为string类型
CreateNode("节点类型","节点名称","节点命名空间")
四个参数 都为string类型
CreateNode("节点类型","节点的前缀","节点名称","节点命名空间")

问题:节点前缀有什么作用?结点命名空间有什么作用?

 

增加节点:
1、AppendChild() 方法
2、InsertAfter(要插入的节点,参考节点)  方法
3、InsertBefore(要插入的节点,参考节点) 方法

 

增加节点属性:
SetAttribute("属性名","属性值")方法

删除节点属性:

RemoveAttribute("属性名称")

 

给节点添加数据:
1、给节点的innerText赋值
例子:XmlElement eName = doc.CreateElement("name");
        eName.InnerText = aaaaa;
2、添加XmlText节点,为其添加值
     添加节点元素
     将XmlText以子节点的方式添加给节点元素
例子: XmlElement eName = xmlDoc.CreateElement("name");
        XmlText tName = xmlDoc.CreateTextNode(aaaaa);
        eName.AppendChild(tName);

 

寻找某个节点(寻找name节点):
先找到根节点,找出根节点下的节点列表(XmlNodeList),遍历每个节点。
再找每个节点下的节点列表,进行遍历,指导找到所需要的节点。
<msg>
<name></name>
<content></content>
</msg>
方法:
XmlNode root = xmlDoc.SelectSingleNode("msg");
XmlNodeList nodeList = root.ChildNodes;
foreach (XmlNode node in nodeList)
{
    if(node.Name=="name")
    {
     找到name节点,进行操作
    }
}

 

删除节点
RemoveAll(无参数)
RemoveChild(要移除的节点)

 

更新节点
1、ReplaceChild(新节点,老节点)
建立一个新节点,替换老节点
2、找到要更新的节点,重新设置其属性和数据

 

用GridView显示xml文件中的数据

 

xml文件

显示效果:

 

删除属性为计算机的节点

 

 

xe.ParentNode.RemoveChild(xe)

寻找到xe节点的父节点,再删除他的子节点。那么此节点(包括节点标记)将不存在。显示中将没有空行

xe.RemoveAll()

移除节点内容,但是节点标签还在。显示中有空行

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值