文章目录
- 初始XML
- XML基本语法
- XML解析模型
-
- XML与Java类映射JAXB
初始XML
XML基本语法
标记必须闭合;
必须合理地嵌套;
大小写敏感;
空白被保留;
XML解析模型
DMO解析
SAX解析
DOM4j解析
package com.eshore;
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.List;
public class Dom4jDemo {
@SuppressWarnings("unchecked")
public static void main(String[] args) {
//创建待解析的XML文件,并指定目录
// File file = new File("F:\users.xml");
File file = new File("c:\users.xml");
//指定XML解析器SAXReader
SAXReader saxReader = new SAXReader();
try {
//SAXReader解析XML文件
document document = saxReader.read(file);
//指定要解析的节点
List list = new ArrayList(document.selectNodes("/users/user" ));
for(Element element:list){
//获得节点country属性值
System.out.println("country----"+element.attributevalue("country"));;
//获得节点的子节点
List childList = element.elements();
//遍历节点的子节点
for(Element childelement:childList){
//如果是address子节点,遍历address的子元素
if("address".equals(childelement.getName())){
//获得节点state属性值
System.out.println("state----"+childelement.attributevalue("state"));
//遍历address元素的子元素
List addressElements = childelement.elements();
for(Element e:addressElements){
System.out.println(e.getName()+"----"+e.getText());
}
}
System.out.println(childelement.getName()+"----"+childelement.getTextTrim());
}
}
} catch (documentException e) {
e.printStackTrace();
}
}
}
XML与Java类映射JAXB