zoukankan      html  css  js  c++  java
  • 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);
          }
    }
    
  • 相关阅读:
    PHP开发APP接口(九)
    C#深入理解类型
    C#从委托、lambda表达式到linq总结
    C# ==和Equals()
    C# 泛型
    C# Reflection
    原声JS网络请求
    JavaScript预编译
    泛型初探
    C#内存分配
  • 原文地址:https://www.cnblogs.com/fengyu-2/p/3484380.html
Copyright © 2011-2022 走看看