XmlDocument对象是用处理xml文件的。
这里先介绍几个知识点。
1.CDATA 不检测文本,因为和网页的跨站攻击一样,xml也存在转义的问题。在CDATA块内的数据会原样输出。
2.XmlNode和XmlElement的区别,后者是前者的子类,前者包括的范围广,xml文档的所有节点都归宿XmlNode,
只有文本节点才属于XmlElement。
用法:
1.Load 加载xml文档。
2.LoadXml 加载xml文档,内部调用了Load方法。
3.HasChildNode 判断是否有子节点。
3.NodeChilds 拿到所有子节点。
4.Name 节点的名称。
5.value 节点的值。测试一直拿不到值,现在还不知道原因。
6.innerText 节点下所有后代节点的文本。
7.innerXml 节点下所节点。包括标签和文本。
8.CreateElement 创建节点。
9.AppendChild 追加节点,这里不能追加在根节点下,因为每个xml只能有一个根节点。
10.DocumentElement 文档的根节点。
11.SelectNodes 选择节点,这里得到的集合。
12.SelectSingleNode 选择节点 会得到符合条件的第一个节点。
13.通过各种节点的操作也能只拿到想要的节点。如ChildNodes、FirstNode、LastNode
14.NodeType 节点的类型。这里列出了一点
Attribute 属性 如id
CDATA comment 注释部分document 根节点documentfragment 文档elemet 元素 如<item>endelement 结束元素 如</item>entity 实体声明entity 实体声明结束entityreference 对实体的引用 如#text节点的文本内容xmldeclaration 文档的声明部分 如<?xml version="1if (xmlDoc.NodeType==XmlNodeType.XmlDeclaration)
经测试 :对于一个节点如<item>text</item>
其中text为item的子节点。
15.代码分析
(1)写xml
XmlDocument xml=new XmlDocument();//创建xml文档实例XmlDeclaration xmlDeclaration=xml.CreatrXmlDeclaration("1.0","utf-8","yes");//创建声明节点 //参数以此是版本号 编码格式 是否是独立的 官方提示版本号必须为1xml.AppendChild(xmlDeclaration);//把声明节点加入xml文档XmlElement rootElement =xml.CreateElemnet("order");//创建根节点 ,每个xml文档只能用于一个根节点XmlNode node=xml.AppendChild(rootElement);//把根节点加入xml文档,返回值就是这个节点XmlElement element =xml.CreateElemnet("child");//再使用xml对象创建XmlElement对象node.AppendChild(element );//加入到根节点中xml.Save("demo.xml");//保存
(2)读xml文档
通过Load方法加载一个xml文档。
SelectNodes获取节点,
HasChildren判断是否用于子节点
通过XmlNode的各种属性获取各种需求的值