欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

Java 第 12 天特殊文件、日志技术 - xml 文件

最编程 2024-03-20 12:03:34
...

特点
在这里插入图片描述

2.1 编写一个xml文件 语法规则

在这里插入图片描述

<?xml version="1.0" encoding="UTF-8" ?>
<!--上边抬头文件 必须写在第一行-->
<!--根目录只有一个-->
<users>
    <user id="1">
        <name></name>
        <adderss>巩义</adderss>
        <age>23</age>
        <data><![CDATA[
              5 >2 <3
        ]]></data>
    </user>
    <user id="2">
        <name></name>
        <adderss>徐州</adderss>
        <age>23</age>
    </user>
</users>

应用场景
在这里插入图片描述

2.2 解析XML文件

经常利用Dom4j (第三方
步骤:
在这里插入图片描述
解析思想:
在这里插入图片描述
使用解析器 将xml文件解析成一个文档 然后依次从根元素开始解析。
在这里插入图片描述

在这里插入图片描述

package com.cky.file;

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

import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.List;
import java.util.Properties;
import java.util.Set;

public class Endecode {
    public static void main(String[] args) throws Exception {
        //创建一个解析器
        SAXReader saxReader=new SAXReader();
        //用解析器将xml文件解析为一个文档
        Document document = saxReader.read("E:\\java_code\\project\\hello-app\\src\\com\\cky\\file\\data.xml");
        Element rootElement = document.getRootElement();//得到root对象
        System.out.println(rootElement.getName());//users
        //获得根元素下的一级子元素
        List<Element> elements = rootElement.elements();
        for (Element element : elements) {
            System.out.println(element.getName());// user user
        }
        //默认获得第一个名称的子元素
        Element user = rootElement.element("user");
        System.out.println(user.elementText("name")); //得到子元素name的属性值  崔
        //获取元素属性信息
        Attribute id = user.attribute("id");
        System.out.println(user.attributeValue("id"));  //1
        System.out.println(id.getName()); //id
        System.out.println(id.getValue()); //1

    }}



2.3 写入一个xml文件

不常用,可以忽略

2.4 xml 约束

就是限制XML文件只能按照某种格式进行书写。
在这里插入图片描述

2.4.1 DTD文档

只限制 标签 以及标签名

2.4.1 Schema文档

不仅限制标签 还限制标签内的属性值类型