ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

XML笔记

2021-10-03 19:04:44  阅读:188  来源: 互联网

标签:XML xml dom4j 标签 笔记 book 解析


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有