DOM模型和xml


什么是DOM(Document object model):
 可以允许程序和脚本动态的访问及更新文档内容,结构和样式的规范化接口,通俗一点,就是一种规范。
DOM的级别:
级别一:专注于html、xml文档模型,具有文档导航和处理功能
级别二:在DOM级别一基础之上添加了样式表功能模型和事件模型。
级别三:在DOM级别二基础之上添加内容模型和文档验证,同时还规定文档的加载和保存,文档查看和文档格式化及关键事件。


xml文档中DOM模型:是DOM解析器将xml文档在内存中解析为对象树的形式。

DOM 树的节点类型:
<1> document(文档节点):是DOM树的根节点。
<2> element(元素节点):xml中元素成为dom树的元素节点。
<3> attribute(属性节点): xml中的属性成为Dom树的属性节点。
<4> text(文本节点): xml 中的文本成为Dom 树的文本节点。
<5> comments(注释节点):xml中的注释节点成为Dom树的注释节点。

使用DOM模型创建xml文档和解析xml文档

//使用XmlDocument对象创建文档对象
XmlDocument doc=new XmlDocument();
//使用XmlDeclaration创建文档描述
XmlDeclaration declaration=new XmlDeclaration("1.0","utf-8",null);
//使用XmlNode对象创建根节点
XmlNode root=doc.createNode(XmlNoteType.Element,"class",null);
//使用XmlNode对象创建子节点
XmlNode subNote=doc.createNode(XmlNoteType.Element,"student",null);
//创建文本节点
XmlNode textNote=doc.createNode(XmlNoteType.text,null,null);
textNode.value="张三";
//将子节点添加到根节点之下
root.AppendChild(subNote);

//文档中添加文档描述
doc.AppendChild(declaration);
//文档中添加根节点
doc.AppendChild(root);

//保存xml文件
string filePath=server.MapPath(@"~xmlclass.xml");
doc.Save(filePath);


//使用DOM 对象解析xml文档

//加载xml文档
XmlDocument doc=XmlDocument();
string filePath=server.MapPath(@"~xmlclass.xml");
doc.load(filePath);

//定义实体为stuInfo的集合收集xml中的数据
List<stuInfo> stuList=new List<stuInfo>();

//得到根节点下的所有节点
XmlNoteList list=doc.DocumentElement.ChilidNodes;
//遍历根节点下的所有节点
foreach(XmlNode in item list)
{
      foreach(XmlNode in subitem item.ChildNodes)
      {
            stuInfo stu=new stuInfo();
            //item中的属性节点
         stu.stuNo=Convert.ToInt32(subitem.Attributes["name"].value);
           //.....
           list.add(stu);
      }
}
原文地址:https://www.cnblogs.com/fengyu-2/p/3484380.html