第十五节:第三部分:特殊文件:XML概述、解析

发布于:2025-07-05 ⋅ 阅读:(21) ⋅ 点赞:(0)

XML介绍

XML介绍

XML的创建

XML的创建

XML的语法规则

XML的语法规则

XML的作用和应用场景

XML的作用和应用场景

解析XML文件使用框架Dom4j

解析XML文件

使用Domj解析XML文件步骤

使用Domj解析XML文件步骤

使用Domj解析XML文件步骤思想

使用Domj解析XML文件步骤思想

使用Domj解析XML文件代码

使用Domj解析XML文件代码

Element提供的方法

Element提供的方法

代码:

helloworld.xml

<?xml version="1.0" encoding="utf-8" ?>
<!--注释:以上抬头声明必须放在第一行,必须有 -->
<!--根标签只能有一个 -->
<users>
    <user id ="1" desc="第一个用户">
        <name>张无忌</name>
        <sex></sex>
        <password>minmin</password>
        <data> 3 &lt; 2 &amp;&amp; 5>4</data>
        <data1>
            <![CDATA[
        3<2 && 5>4
        ]]>
        </data1>
    </user>
    <people>很多人</people>
    <user id ="2">
        <name>敏敏</name>
        <sex></sex>
        <password>wuji</password>
    </user>
</users>

XmlTest(主程序)

package com.itheima.day2_xml;

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

import java.util.List;

/*
* 目标:掌握使用Dom4j框架解析XML文件。
* */
public class XmlTest {
    public static void main(String[] args) throws Exception {
        //1、创建一个Dom4]框架提供的解析器对象
        SAXReader reader = new SAXReader();
        //2、使用saxReader对象把需要解析的XML文件读成一个Document对象。
        Document document = reader.read("src\\helloworld.xml");
        // 3、从文档对象中解析XML文件的全部数据了
        Element root = document.getRootElement();
        System.out.println(root.getName());
        // 4、获取根元素下的全部一级子元素。
        List<Element> elements = root.elements();
        for (Element element : elements) {
            System.out.println(element.getName());
        }
        // 5、获取当前元素下的某个子元素。
        Element people = root.element("people");
        System.out.println(people.getText());
        //如果下面有很多子元素user,默认获取第一个
        Element user = root.element("user");
        System.out.println(user.elementText("name"));
        //6、获取元素的属性信息呢?
        System.out.println(user.attributeValue("id"));
        Attribute id = user.attribute("id");
        System.out.println(id.getName());
        System.out.println(id.getValue());
        System.out.println("=========================");
        List<Attribute> attributes = user.attributes();
        for (Attribute attribute : attributes) {
            System.out.println(attribute.getName()+"="+attribute.getValue());
            System.out.println("============================");
            // 7、如何获取全部的文本内容:获取当前元素下的子元素文本值
            System.out.println(user.elementText("name"));
            System.out.println(user.elementText("sex"));
            System.out.println(user.elementText("password"));
            System.out.println("========================");
            Element data = user.element("data");
            System.out.println(data.getText());
            System.out.println(data.getTextTrim());//取出文本去除前后空格
        }

    }
}

结果1
结果1.1


网站公告

今日签到

点亮在社区的每一天
去签到