c# 操作xml文件
2018-01-03 21:29
471 查看
xml操作
xml使用注意
写入xml文件
读取xml文件
XPath应用
xml使用注意
xml文件头 <?xml version="1.0" encoding="utf-8" ?> 字符转义 <age><![CDATA[<18>]]></age> xml严格区分大小写,只能有一个跟节点,属性值必须使用双引号
写入xml文件
XmlDocument形式 XmlDocument xml = new XmlDocument(); // 创建xml文档对象 xml.AppendChild(xml.CreateXmlDeclaration("1.0", "utf-8", null)); // 创建文件头 var student = xml.CreateElement("Student"); // 创建子节点 student.Attributes.Append(xml.CreateAttribute("id")).Value = 1.ToString(); // 创建属性 student.InnerText = "小红"; // 创建文本节点 xml.AppendChild(xml.CreateElement("Class").AppendChild(student)); // 创建根元素 xml.Save("test.xml"); // 保存xml XDocument形式(linq to xml) XDocument xd = new XDocument(); // 创建xml文本对象 xd.Declaration = new XDeclaration("1.0", "utf-8", null); // 添加文件头 var root = new XElement("Test"); // 添加根元素 var student = new XElement("Student"); student.SetAttributeValue("id", 1.ToString()); student.AddFirst(new XText("小明")); root.Add(student); xd.Add(root); xd.Save("text.xml");
读取xml文件
XmlDocument形式 XmlDocument xd = new XmlDocument(); xd.Load("text.xml"); XmlElement root = xd.DocumentElement; // 读取根节点 XmlNodeList nodes = root.GetElementsByTagName("Student"); // 获取子节点 XDocument形式 XDocument xd = XDocument.Load("test.xml"); XElement root = xd.Root; // 读取根节点 IEnumerable nodes = root.Elements("Student"); IEnumerable nodes = xd.Root.Elements().Where(item => int.Parse(item.Attribute("id").Value) > 2);
XPath应用
Xpath写法 /persons/person 表示查找根节点persons下面的所有person子节点 //person 表示递归查找,相当于全文搜索 //person/Name 找所有person节点下面的Name节点 //person/* 找所有person下的所有子节点 //* 找所有节点 /persons/person[1] 找第一个person /persons/person[last()] 找最后一个 //@id 查找属性节点 //person[@id] 找具有id的person节点 //Name[not(@*)] 找不包含属性的Name节点 //person[@id='1'] 找id是1的person节点 //person[normalize-space(@id)='1'] 找id是1的person节点(去掉id属性值空格之后的) //*[count(person)=3] 找包含3个person的父节点 //*[starts-with(name(),'N')] 选择标签名以N开头的元素 //*[contains(name(),'a')] 选择标签名包含a的元素 //*[string-length(name()) = 3] 获取标签名的长度是3的元素 //Name | //Age 获取Name和Age节点 使用xpath方式 XmlNodeList nodes = xd.SelectNodes("//person[@id='1']");
相关文章推荐
- xml学习(三)---利用xml文件实现数据岛功能(网页显示xml文件中的内容免C#代码操作xml文件)
- c#文件操作xml、ini、txt、excel、csv操作全解
- C#操作XML配置文件
- Krpano学习:在C#中修改全景场景属性(C#操作全景vtour.xml文件及相关瓦片数据/panos/*.tiles)
- C# 操作 xml 文件
- C#使用Linq操作Xml文件(创建xml文件、增删改查xml文件节点信息)的方法
- XML文件操作(C#源代码)
- C#中基于流的XML文件操作笔记
- [C#]XmlDocument_修改xml文件操作.
- C#操作xml文件
- XML文件操作(C#)
- c#操作xml文件之二
- C#操作XML文件
- c#操作web.config/xml 文件
- c#操作xml文件之二
- C# 用Linq的方式实现对Xml文件的基本操作(创建xml文件、增删改查xml文件节点信息)
- C# 利用自带xsd.exe工具操作XML-如通过XML生成xsd文件
- c# 操作 xml 文件的 自定义类
- C#操作Xml:如何定义Xsd文件
- C# : 操作Word文件的API - (将C# source中的xml注释转换成word文档)