- XML配置文件:即可扩展标记语言
- 标记语言:即标签描述数据的一种语言
- 可扩展;即标签名字可以自定义
- 作用:用于进行储存数据和传输数据以及作为软件配置文件而存在
- XML语法规则: 后缀名为XML文件
- 解析XML文件
public class Student {
private String id;
private String name;
private String age;
public Student() {
}
public Student(String id, String name, String age) {
this.id = id;
this.name = name;
this.age = age;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
@Override
public String toString() {
return "Student{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
", age='" + age + '\'' +
'}';
}
}
public class Test01 {
public static void main(String[] args) throws DocumentException {
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File("D:\\develop\\IDEA2019\\IDEA\\java_web\\itzhangsong-inherit\\src\\com\\songzhang\\packag1\\XML\\Test01.xml"));
ArrayList<Student> list = new ArrayList<>();
Element rootElement = document.getRootElement();
List<Element> student = rootElement.elements("Student");
for (Element element : student) {
Attribute id = element.attribute("id");
String value = id.getValue();
Element name = element.element("name");
String text = name.getText();
Element age = element.element("age");
String text1 = name.getText();
Student stu = new Student(value,text,text1);
list.add(stu);
}
for (Student student1 : list) {
System.out.println(student1);
}
}
}
- 文档约束:即用来限制XML文件中标签和属性
- DTD约束:后缀名为dtd
- 有子标签为复杂元素,反之简单元素
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE Students SYSTEM 'Test01.dtd'
<!--文档说明-->
<Students>
<Student id="1">
<name>李四</name>
<age>66</age>
<sex>男</sex>
</Student>
<Student id="2">
<name>王五</name>
<age>55</age>
<sex>男</sex>
</Student>
</Stu
<!ELEMENT Students (Student+) >
<!ELEMENT Student (name,age,sex) >
<!ELEMENT name (#PCDATA) >
<!ELEMENT age (#PCDATA) >
<!ELEMENT sex (#PCDATA) >
<!ATTLIST Student id CDATA #REQUIRED>
- schema约束文件本身也是一个xml文件,同时也被其他文件约束着 后缀名为xsd
<?xml version="1.0" encoding="UTF-8" ?>
<persons
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="java"
xsi:schemaLocation="java Test02.xsd"
>
<person id="001">
<name>李清照</name>
<age>33</age>
</person>
</pers
<?xml version="1.0" encoding="UTF-8" ?>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="java"
elementFormDefault="qualified"
>
<element name="persons">
<complexType>
<sequence>
<element name="person">
<complexType>
<sequence>
<element name="name" type="string"></element>
<element name="age" type="string"></element>
</sequence>
<attribute name="id" type="string" use="required"></attribute>
</complexType>
</element>
</sequence>
</complexType>
</element>
</schema>