1、什么是XML?
- XML是可扩展标记语言(Extensible Markup Language)
可扩展:标签并不止一套(可以扩展)
web.xml 有一套标签 servlet servlet-name servlet-class ...
Spring spring.xml bean
SpringMVC springMVC.xml <mvc:XXX>
约束:由组织去定义,看约束文件如何规定
例:在web.xml中:
用途:
- 异步系统之间进行数据传输的媒介(json代替)
- 配置文件
properties XML web.xml SSM
2、xml的基本语法
①
<?xml version="1.0" encoding="UTF-8"?>
②约束
3、xml的解析
java程序如何拿到xml文件中的数据
- dom (一下子全取)
- sax (一点一点取)
1、创建 employees.xml 并写好标签
<?xml version="1.0" encoding="UTF-8"?>
<!--没有约束文件,标签和属性都随便写-->
<emloyees>
<employee id="101">
<name>张三</name>
<age>18</age>
<address>北京</address>
</employee>
<employee id="102">
<name>李四</name>
<age>20</age>
<address>上海</address>
</employee>
<employee id="103">
<name>王五</name>
<age>19</age>
<address>深圳</address>
</employee>
</emloyees>
2、导入dome4j.jar包
3、开始时创建xml解析器对象
SAXReader reader = new SAXReader();
4、让解析器对象去解析xml文件
Document document = reader.read(Demo1.class.getClassLoader().
getResourceAsStream("employees.xml"));
5、开始获取内容
Element root = document.getRootElement(); //获取根节点对象
Element emloyee = root.element("emloyee");//第一个employee
String text = name.getText();//获取name标签中的文本
List<Element> employees = root.elements("employee"); //获取多个Element对象
Attribute id = employee1.attribute("id"); 根据属性名获得属性对象
package com.atguigu.demo4j;
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;
public class Demo1 {
public static void main(String[] args) {
//1.创建解析器对象
SAXReader reader = new SAXReader();
try{
Document document = reader.read(Demo1.class.getClassLoader().getResourceAsStream("employees.xml"));
Element root = document.getRootElement(); //获取根节点对象
Element employee = root.element("employee");//第一个employee
Element name = employee.element("name");//name
String text = name.getText();//获取name标签中的文本
System.out.println("text = "+text);
System.out.println("-------------------");
List<Element> employees = root.elements("employee"); //获取多个Element对象
for (Element element : employees){
Element name1 = element.element("name");
String text1 = name1.getText();
System.out.println("text1 = " + text1);
}
System.out.println("---------------------");
Element employee1 = root.element("employee");
Attribute id = employee1.attribute("id");
String value = id.getText();
System.out.println("value = " + value);
}catch (DocumentException e){
e.printStackTrace();
}
}
}