作者:手机用户2502887197 | 来源:互联网 | 2023-09-18 20:43
一、什么是XML?XML:可扩展标记语言(EXtensible Markup Language)XML是一种标记语言,很类似HTMLXML的设计宗旨是传输数据,而非显示数据XML标
一、什么是 XML?
- XML :可扩展标记语言(EXtensible Markup Language)
- XML 是一种标记语言,很类似 HTML
- XML 的设计宗旨是传输数据,而非显示数据
- XML 标签没有被预定义。您需要自行定义标签。
- XML 被设计为具有自我描述性。
- XML 是 W3C 的推荐标准
二、 XML文档例子
Eclipse创建的一个XML文档内容:
1 xml version="1.0" encoding="UTF-8"?>
2 <person>
3 <p1>
4 <name>zhangsanname>
5 <age>20age>
6 p1>
7 <p1>
8 <name>wangwuname>
9 <age>29age>
10 p1>
11 person>
“zhangsan”也可以在name标签中加属性,如:zhangsan。
二、 使用Dom4J解析xml文件
DOM4J是dom4j.org出品的一个开源XML解析包,是一个易用的、开源的库,用于XML,XPath和XSLT。它应用于Java平台,采用了Java集合框架并完全支持DOM,SAX和JAXP。
DOM4J解析XML文档的步骤如下:
-
- 导入dom4j-1.6.1.jar包和jaxen-1.1-beta-7.jar包
- 创建解析器
- 读入XML,获取Document对象
- 获取XML根节点
- 遍历子节点,获取所需要的对象
1 package com.hdl.dom4jparser;
2
3 import java.util.Iterator;
4
5 import org.dom4j.Document;
6 import org.dom4j.DocumentException;
7 import org.dom4j.Element;
8 import org.dom4j.io.SAXReader;
9
10 public class Dom4jTest {
11
12 public static void main(String[] args) {
13 try {
14 // 1、创建解析器
15 SAXReader reader = new SAXReader();
16 // 2 、读取Document对象
17 Document document = reader.read("conf/persons.xml");
18 // 3、获取根节点
19 Element root = document.getRootElement();
20 // 4、遍历子节点
21 for (Iterator eIterator = root.elementIterator(); eIterator.hasNext();) {
22 // 获取student节点对象
23 Element stuElement = (Element) eIterator.next();
24 // System.out.println(stuElement.toString() + "信息如下:");
25 for (Iterator innerIter = stuElement.elementIterator(); innerIter.hasNext();) {
26 // 获取student子节点对象
27 Element innerElement = (Element) innerIter.next();
28 String innerElementValue = innerElement.getStringValue();
29 System.out.println(innerElementValue);
30 }
31 System.out.println("--------------------");
32 }
33 } catch (DocumentException e) {
34 e.printStackTrace();
35 }
36
37 }
38
39 }
结果:
Dom4J解析xml文件