• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#XML操作详解

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

 添加引用

using System.Xml;

 创建XML文件

XmlDocument xmldoc=new XmlDocument();
//加入XML的声明段落:<?xmlversion="1.0" encoding="utf-8"?>
XmlDeclaration xmldecl=xmldoc.CreateXmlDeclaration("1.0", "utf-8", null);
xmldoc.AppendChild(xmldecl);
//保存创建好的XML文档
xmldoc.Save(@"D:\user.xml");

 加载XML文件

//方法一:Lode方法加载的是XML文件所在的路径
xmldoc.Load(@"D:\user.xml");
//方法二:LoadXml方法加载的是XML字符串
xmldoc.LoadXml("<user></user>");

 创建节点

//创建根节点
XmlElement xmlroot = xmldoc.CreateElement("user");
xmldoc.AppendChild(xmlroot);
//创建根节点的子节点
XmlElement ePerson=xmldoc.CreateElement("person");
xmlroot.AppendChild(ePerson);

 获取节点

//获取根节点
XmlElement root = xmldoc.DocumentElement;
//获取单个节点:如果有筛选到多个符合条件的,默认选第一个
XmlNode node=xmldoc.SelectSingleNode("user");//方法一:获取标签名为:user的节点
XmlNode node=xmldoc.SelectNodes("user").Item(0);//方法二:这种方法需要了解节点排列顺序才可以准确的获取想要的节点
XmlNode node=xmldoc.SelectSingleNode("user/person[@name='王五']")//方法三:指定了属性,进一步筛选
//获取该路径下所有节点的集合
XmlNodeList nodelist=xmldoc.SelectNodes("user/person");//方法一:获取user节点下的person节点集合
XmlNodeList nodelist=xmldoc.SelectSingleNode("user").ChildNodes;//方法二:获取user节点下的所有子节点
XmlNodeList nodelist=xmlroot.GetElementsByTagName("person")//方法三:获取根节点下的标签名为person的节点集合
//遍历节点
foreach(XmlNode childNode in nodelist)
{
    Response.Write(childNode .Name);
}

 删除节点

//删除其下所有节点和其本身的属性以(只剩下标签)
xmlroot.RemoveAll();
//删除指定节点,括号里传入的是节点名
xmlroot.RemoveChild(person);

 设置属性以及文本节点

//方法一
person.SetAttribute("name","张三");
//方法二:这种方法可以用来获取和设置属性值,但前提是该属性要存在
person.Attributes["name"].Value = "张三三";
//方法三
XmlAttribute age = xmldoc.CreateAttribute("age");
age.Value = "23";
person.Attributes.Append(age);
//设置文本节点
person.InnerText = "123";

获取属性值

//方法一
string name=person.Attributes["name"].Value.ToString();
//方法二
string name=person.GetAttribute("name").ToString();
//方法三:XmlNode.SelectSingleNode()方法中,节点名加@表示查找属性,但最后要转成(XmlAttribute)
XmlAttribute xa = (XmlAttribute)person.SelectSingleNode("@" + name);
string name=xa.Value.ToString();

删除属性

//方法一:删除指定属性
person.RemoveAttribute("age");
//方法二:删除某个位置的属性(需要了解属性的顺序)
person.RemoveAttributeAt(0);
//方法三:删除所有属性
person.RemoveAllAttributes();

XmlNode和XmlElement比较

XmlElement是XmlNode的子类。

Xml节点有多种类型:属性节点、注释节点、文本节点、元素节点等。XmlNode是这多种节点的统称,但是XmlElement专门指的就是元素节点。

XmlElement是具现类,可以直接实例化,而XmlNode是抽象类。

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C#编码规范发布时间:2022-07-14
下一篇:
LinuxC编程一站式学习发布时间:2022-07-14
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap