zoukankan      html  css  js  c++  java
  • xml简介

    1) XML--可扩展标记语言eXtensible Markup Language
    2) 由W3C组织发布,目前推荐遵守的是W3C组织于2000年发布的XML1.0规范
    3) XML的使命,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务
    4) XML用来传输和存储数据,HTML用来显示数据
    5) XML没有预定义标签,均为自定义标签

    xml用途
    1) 配置文件
      JavaWeb中的web.xml
      C3P0中的c3p0-config.xml
    2) 数据交换格式
      Ajax
      WebService
    3) 数据存储
      保存关系型数据
    4)

    xml基本语法
    1) XML文档组成
      ① XML声明
          version属性指定XML版本,固定值是1.0
          encoding指定的字符集,是告诉解析器使用什么字符集进行解码,而编码是由文本  编辑器决定的
      ② CDATA区
          当XML文档中需要写一些程序代码、SQL语句或其他不希望XML解析器进行解析  的内容时,就可以写在CDATA区中
          XML解析器会将CDATA区中的内容原封不动的输出
          CDATA区的定义格式:<![CDATA[…]]>
    2) 语法规则
      ① XML声明要么不写,要写就写在第一行,并且前面没有任何其他字符
      ② 只能有一个根标签
      ③ 标签必须正确结束
      ④ 标签不能交叉嵌  
      ⑤ 严格区分大小写
      ⑥ 属性必须有值,且必须加引号
      ⑦ 标签不能以数字开头
      ⑧ 注释不能嵌套

    xml解析
      1) XML解析是指通过解析器读取XML文档,解释语法,并将文档转化成对象
      2) 常用的解析方式
        DOM(Document Object Model)
        SAX(Simple API for XML)
      3) DOM 和SAX解析的对比


    //1.创建解析器对象
    SAXReader saxReader = new SAXReader();
    //2.解析xml文件获取document对象
    Document document = saxReader.read("students.xml");
    //3.得到根元素
    Element root = document.getRootElement();
    <?xml version="1.0" encoding="UTF-8"?>
    <students>  <!-- 根标记 -->
        
        <student>
            <id>1001</id>
            <name>Tom</name>
            <gender>男</gender>
        </student>
        <student>
            <id>1002</id>
            <name>Jerry</name>
            <gender>女</gender>
        </student>
        
        <class>
            <class-name>com.atguigu.login.beans.Employee</class-name>    
        </class>
    
    </students>
    package com.atguigu.login.test;
    
    import org.dom4j.Document;
    import org.dom4j.Element;
    import org.dom4j.io.SAXReader;
    import org.junit.Test;
    
    import com.atguigu.login.beans.Employee;
    
    public class TestXml {
    
        @Test
        public void test() throws Exception {
            // dom 解析
            //创建解析器对象
            SAXReader reader = new SAXReader();
            
            //把一个xml文件解析成 dom数
            Document dom = reader.read("students.xml");
            System.out.println("dom:" + dom );
            
            //获取根节点
            Element root = dom.getRootElement();
            
    //        List<Element> els  = root.elements();
    //        for (Element element : els) {
    //            System.out.println(element.elementText("name") );
    //        }
            
            Element cls = root.element("class");
            Element clsName = cls.element("class-name");
            System.out.println("clsName:" + clsName);
            
            String  clsStr = clsName.getText();
            System.out.println("clsStr:" + clsStr);
            
            Employee emp = (Employee)Class.forName(clsStr).newInstance();
            System.out.println(emp);
        }
    
    }
  • 相关阅读:
    机器学习-liuyubobobo(慕课网)
    python进阶 廖雪峰(慕课网)
    ajax 报0错误
    nav破解
    thinkphp5--关于多条件查询的分页处理问题
    JS/JQuery获取当前元素的上一个/下一个兄弟级元素等元素的方法
    linux 批量删除文件
    Linux下which命令使用详解(转)
    thinkphp5和nginx不得不说的故事
    Git基本操作和使用
  • 原文地址:https://www.cnblogs.com/lemonzhang/p/12884910.html
Copyright © 2011-2022 走看看