zoukankan      html  css  js  c++  java
  • 2019-06-16 Java学习日记之XML&tomcat

    XML的概述:

    eXtendsible  markup language  可扩展的标记语言

    XML有什么用?

    1、可以ong来保存数据

    2、可以用来做配置文件

    3、数据传输载体

    定义XML:

    其实就是一个文件,文件的后缀为.xml

    文档声明:

    简单声明, version:解析这个xml的时候,使用什么版本的解析器解析

    <?xml version="1.0" ?>

    encoding:解析xml中的文字的时候,使用什么版本的解析器解析

    <?xml version="1.0" encoding="gbk" ?>

    standalone:no - 该文档会依赖关联其它文档,yes -- 这是一个独立的文档

    <?xml version="1.0" encoding="gbk" standalone="no" ?>

    encoding详解:

    在解析这个xml的时候,使用什么编码去解析。  ---解码

      文字,而是存储这些文字对应的二进制。那么这些文字对应的二进制到底是多少呢?根据文件使用的编码来得到

    默认文件保存的时候,使用的是CBK的编码保存

    所有想要xml能够正常的显示中文,有两种解决方法

    1、让encoding也是CBK或者gb2312

    2、如果encoding是utf-8,那么保存文件的时候也必须使用utf-8

    3、保存的时候见到ANSI对应的其实是我们的本地编码GBK

    为了通用,最好使用UTF-8编码保存,以及encoding都是UTF-8

    元素定义(标签):

    1、<>括起来的都叫元素。成对出现

    2、文档声明下来的第一个元素叫做根元素(根标签)

    3、标签里面可以嵌套标签

    4、空标签

      既是开始也是结束,一般配合属性来用

    5、标签可以自定义

      XML 命名规则

      XML 元素必须遵循以下命名规则

        名称可以包含字母、数字以及其他的字符

        名称不能以数字或者标点符号开头

        名称不能以字符“xml”(或者XML、xml)开头

        名称不能包含空格

    简单元素&复杂元素:

    简单元素

      元素里面包含了普通的文字

    复杂元素

      元素里面还可以嵌套其他的元素

    属性的定义:

    定义在元素里面,<元素名称 属性名称=“属性的值”></元素名称>

            <stus>
                <stu id="10086">
                    <name>张三</name>
                    <age>18</age>
                </stu>
                <stu id="10087">
                    <name>李四</name>
                    <age>28</age>
                </stu>
            </stus>

     xml的注释:

    与html的注释一样

    不允许放置在文档的第一行。必须在文档声明的下面

    CDATA区:

      非法字符

        严格的讲,在XML中仅有字符 "<"和"&" 设计非法的。是呢还略好、引号和大于号是合法的,但是把它们替换为实体引用是个好的习惯

        <   &lt;

        &   &amp;

    XML解析:

    获取元素里面的字符数据或者属性数据

    XML的解析方式:

    有很多种,但是常用的只有两种

      DOM

      SAX

    Dom4j的基本用法:

      element.element(“stu”):返回该元素下的第一个stu元素

      element.element();返回该元素下的所有子元素

    1、创建SaxReader对象

    2、指定解析的xml

    3、获取根元素

    4、根据根元素获取子元素或者下面的子孙元素

    try {
                //1. 创建sax读取对象
                SAXReader reader = new SAXReader(); //jdbc -- classloader
                //2. 指定解析的xml源
                Document  document  = reader.read(new File("src/xml/stus.xml"));
                
                //3. 得到元素、
                //得到根元素
                Element rootElement= document.getRootElement();
                
                //获取根元素下面的子元素 age
            //rootElement.element("age") 
                //System.out.println(rootElement.element("stu").element("age").getText());
    
    
                //获取根元素下面的所有子元素 。 stu元素
                List<Element> elements = rootElement.elements();
                //遍历所有的stu元素
                for (Element element : elements) {
                    //获取stu元素下面的name元素
                    String name = element.element("name").getText();
                    String age = element.element("age").getText();
                    String address = element.element("address").getText();
                    System.out.println("name="+name+"==age+"+age+"==address="+address);
                }
                
            } catch (Exception e) {
                e.printStackTrace();
            }
  • 相关阅读:
    分数拆分
    thinkphp URL规则、URL伪静态、URL路由、URL重写、URL生成(十五)
    iOS_12_tableViewCell的删除更新_红楼梦
    关于0基础磁盘管理(gpt UEFI...)最好的一篇文章(来自gentoo linux)
    HDU 3564 Another LIS splay(水
    jsp表达式
    XML(四)dom4j解析XML
    Android学习笔记(十八)——使用意图筛选器和实现浏览网页(附源代码)
    Oracle企业管理框架
    em grid control网格控制
  • 原文地址:https://www.cnblogs.com/clqbolg/p/11042450.html
Copyright © 2011-2022 走看看