小宅

V1

2023/03/15阅读:15主题:默认主题

xml

xml 作为配置文件的优势

概念

xml 的标签

语法规则

xml 必需后缀为xml 声明文档必需是第一行第一列

解析xml

解析工具

package com.itheima.xmlParse;

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

import java.io.File;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class xmlParse {
    public static void main(String[] args) throws DocumentException {
        // 获取一个解析器对象
        SAXReader saxReader = new SAXReader();

        // 利用解析器把xml文件加载到内存中, 并返回一个文档对象
        Document document =  saxReader.read(new File("/Users/lh/develop/mydate/xml/student.xml"));

        // 获取到根标签
        Element rootElement =  document.getRootElement();
        // 通过根标签获取到Element, 可以获取调用者所有的子标签
//        List list =  rootElement.elements();
        List<Element> list =  rootElement.elements("student");
        System.out.println(list.size());

        ArrayList<Student> lists = new ArrayList<>();

        // 遍历集合
        for (Element element : list) {
            // 依次获取到每一个student
            // 获取id 属性
            Attribute attribute = element.attribute("id");
            String id = attribute.getValue();
            // 获取name 标签名

            Element nameElement = element.element("name");
            String name = nameElement.getText();

            // 获取去age 标签
            Element ageElement = element.element("age");

            String age = ageElement.getText();
            System.out.println(id);
            System.out.println(name);
            System.out.println(age);

           Student s =  new Student(id, name, Integer.parseInt(age));

            lists.add(s);
        }

        for (Student student : lists) {
            System.out.println(student);
        }
    }
}


<?xml version="1.0" encoding="utf-8" ?>
<!--本xml 注释-->
<students>
    <student id="1">
        <name>张三</name>
        <age>24</age>
        <info>学生</info>
        <message><![CDATA[内容 <<<<<<<>>>>>>]]></message>
    </student>
<!--    第二个学生的信息-->
    <student id="2">
        <name>李四</name>
        <age>24</age>
    </student>
    <aaa></aaa>
</students>

约束

DTD

dtd 约束规则

DTD 三种引入方式

dtd 定义属性

schema

案例

schema 的约束

schema 的引入

分类:

后端

标签:

后端

作者介绍

小宅
V1