小
小宅
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