其他分享
首页 > 其他分享> > XML笔记

XML笔记

作者:互联网

XML:可扩展的标记性语言。
XML的主要作用:
1、用来保存数据;
2、可以做为项目或者模块的配置文件;
3、做为网络传输数据的格式(JSON现在为主)。
XML的注释和HTML的一样。
XML命名规则:
1、名称可以包含字母、数字以及其他的字符;
2、名称不能以数字或标点符号开始;
3、名称不能包含空格。
XML标签也分单、双标签。
XML的属性:
一个标签上可以书写多个属性。每个属性的值必须用引号括起来。
XML对大小写敏感,且标签要闭合。标签必须正确嵌套。XML文档必须要有根元素。
XML里面的文本区域:(CDATA区) 区里的内容只是纯文本。
格式: <![CDATA[....纯文本,原样显示字符....]]>

早期JDK提供了两种XML解析技术DOM和Sax
DOM解析技术是W3C组织定的
SAX解析,是一行一行读取xml文件进行解析,不会创建大量dom对象。
第三方的解析:
jdom在dom基础上进行了封装
dom4j又对jdom进行了封装
pull主要用于Android手机开发,是在跟sax非常类似都是事件机制解析xml文件

dom4j解析技术:
这个Dom4j是第三方的解析技术,我们需要第三方给我们提供好的类库才可以解析xml文件。这个jar包网上都有
在这里插入图片描述
要记得把这个jar包添加到类路径下。
在这里插入图片描述

<?xml version="1.0" encoding="utf-8" ?> <!--xml的声明-->
<books>
    <book>
        <name>计算机网络</name>
        <price>70</price>
        <出版社>机械工业出版社</出版社>
    </book>
    <book>
        <name>操作系统导论</name>
        <price>60</price>
        <出版社>人民邮电出版社</出版社>
    </book>
</books>

使用dom4j技术解析该xml文件:

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.util.List;

public class Dom4jTest {
    public static void main(String[] args) throws Exception {
        //1.读取books.xml文件
        SAXReader reader = new SAXReader();
        Document document = reader.read("XML/src/books.xml");
        //System.out.println(document);
        //2.通过Document对象来获取根元素
        Element rootElement = document.getRootElement();
       // System.out.println(rootElement);
        //System.out.println(rootElement.asXML()); //asXML()把标签对象转换为标签字符串
        //3.通过根元素获取标签对象
        List<Element> books = rootElement.elements("book");
        //4.遍历,处理每个book标签转换为Book类
        for(Element book : books) {
            //System.out.println(book.asXML());
            Element nameElement = book.element("name");
            Element elementPrice = book.element("price");
            Element elementPress = book.element("出版社");
            //getText()可以获取标签中的文本内容
            System.out.println("书名:" +  nameElement.getText() + " , 价格:"
                    + elementPrice.getText() + ", 出版社:" + elementPress.getText());
        }
    }
}

注:如果是高版本的JDK运行时会出现警告,但是不影响运行。
在这里插入图片描述
解决方案是把项目JDK降低到1.8及以下。

标签:XML,xml,dom4j,标签,笔记,book,解析
来源: https://blog.csdn.net/qq_49306008/article/details/120597095