使用dom4j解析xml格式字串,獲取標籤屬性和內容
阿新 • • 發佈:2019-02-07
本文解析XML格式字串引入的是: dom4j-1.6.1.jar
具體程式碼如下:
/**
* 解析xml字串,獲取各項屬性內容
* readXML方法描述:
*
* @author : sunyan
* @createTime : 2016-4-26 下午4:37:50
*/
private static void readXML() {
try {
String xmlResult = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><users><user id=\"10001\"><name>張三</name><role>群主</role><sex>男</sex><content>今天天氣真不錯!</content><time>2016-04-25 16:43:28</time></user><user id=\"10002\"> <name>李四</name><role>管理員</role><sex>男</sex><content>http://192.168.0.190:9999/beike/data/b3217f668.png</content><time>2016-04-25 16:45:08</time></user></users>";
// 將xml格式字串轉化為DOM物件
org.dom4j.Document document = DocumentHelper.parseText(xmlResult);
// 獲取根結點物件
Element rootElement = document.getRootElement();
// 迴圈根節點,獲取其子節點
for (Iterator iter = rootElement.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next(); // 獲取標籤物件
// 獲取該標籤物件的屬性
Attribute attr = element.attribute("id");
if (null != attr) {
String attrVal = attr.getValue();
String attrName = attr.getName();
System.out.println(attrName + ": " + attrVal);
}
// 迴圈第一層節點,獲取其子節點
for (Iterator iterInner = element.elementIterator(); iterInner
.hasNext();) {
// 獲取標籤物件
Element elementOption = (Element) iterInner.next();
// 獲取該標籤物件的名稱
String tagName = elementOption.getName();
// 獲取該標籤物件的內容
String tagContent = elementOption.getTextTrim();
// 輸出內容
System.out.print(tagName + ": " + tagContent + " ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}
具體程式碼如下:
/**
* 解析xml字串,獲取各項屬性內容
* readXML方法描述:
*
* @author : sunyan
* @createTime : 2016-4-26 下午4:37:50
*/
private static void readXML() {
try {
String xmlResult = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><users><user id=\"10001\"><name>張三</name><role>群主</role><sex>男</sex><content>今天天氣真不錯!</content><time>2016-04-25 16:43:28</time></user><user id=\"10002\"> <name>李四</name><role>管理員</role><sex>男</sex><content>http://192.168.0.190:9999/beike/data/b3217f668.png</content><time>2016-04-25 16:45:08</time></user></users>";
// 將xml格式字串轉化為DOM物件
org.dom4j.Document document = DocumentHelper.parseText(xmlResult);
// 獲取根結點物件
Element rootElement = document.getRootElement();
// 迴圈根節點,獲取其子節點
for (Iterator iter = rootElement.elementIterator(); iter.hasNext();) {
Element element = (Element) iter.next(); // 獲取標籤物件
// 獲取該標籤物件的屬性
Attribute attr = element.attribute("id");
if (null != attr) {
String attrVal = attr.getValue();
String attrName = attr.getName();
System.out.println(attrName + ": " + attrVal);
}
// 迴圈第一層節點,獲取其子節點
for (Iterator iterInner = element.elementIterator(); iterInner
.hasNext();) {
// 獲取標籤物件
Element elementOption = (Element) iterInner.next();
// 獲取該標籤物件的名稱
String tagName = elementOption.getName();
// 獲取該標籤物件的內容
String tagContent = elementOption.getTextTrim();
// 輸出內容
System.out.print(tagName + ": " + tagContent + " ");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
}
}