XmlDocument

 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 对实体的引用 如&num;
text节点的文本内容
xmldeclaration 文档的声明部分 如<?xml version="1
if (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");//创建声明节点<?xml version='1' ?>
//参数以此是版本号 编码格式 是否是独立的 官方提示版本号必须为1 xml.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的各种属性获取各种需求的值

原文地址:https://www.cnblogs.com/xiaoai123/p/6602521.html