目录
- 解析string类型的xml字符串
- 解析String类型t复杂xml,多级节点,最好的例子
解析string类型的xml字符串
我先拼接一个xml格式的字符串,模拟获取了这样的数据,然后再解析
所需要的包自行导入
StringBuilder sb = new StringBuilder();
sb.append("");
sb.append("");
sb.append(" ");
sb.append(" " + "this is a mark!"+ "");
sb.append(" ");
sb.append(" ");
sb.append(" ");
sb.append(" ");
sb.append(" " + "来解析我啊!"+ "");
sb.append(" ");
sb.append(" ");
sb.append(" ");
sb.append("");
//开始解析
String str= sb.toString();
Document doc = null;
try {
doc = DocumentHelper.parseText(str);
} catch (DocumentException e) {
e.printStackTrace();
}
Element root = doc.getRootElement();// 指向根节点
try {
Element mark=root.element("header").element("mark");
Element second=root.element("body").element("data").element("first").element("second");
//获取xml的节点内容
System.out.println(mark.getTextTrim());
System.out.println(second.getTextTrim());
}catch(Exception e){
e.printStackTrace();
}
运行结果:

解析String类型t复杂xml,多级节点,最好的例子
需要用jar包 dom4j-1.6.1.jar
字符串xml如下
aa
22
1
0
10.1.1.2
9999
10.1.1.5
717
2
33
10.1.1.2
9999
10.1.1.9
878
解析代码
import java.io.ByteArrayInputStream;
import java.io.UnsupportedEncodingException;
import java.util.Iterator;
import org.dom4j.DocumentException;
import org.dom4j.io.SAXReader;
public class XMLParser {
public static void main(String[] args) {
String xml = "aa2210
10.1.1.2999910.1.1.5717233
10.1.1.2999910.1.1.9878";
long start = System.currentTimeMillis();
SAXReader reader = new SAXReader();
try {
org.dom4j.Document doc = reader.read(new ByteArrayInputStream(xml
.getBytes("UTF-8")));
org.dom4j.Element root = doc.getRootElement();
org.dom4j.Element element;
org.dom4j.Element element2;
org.dom4j.Element element3;
for (Iterator i = root.elementIterator("flw"); i.hasNext();) {
element = (org.dom4j.Element) i.next();
System.out
.println("name:[" + element.elementText("name") + "]");
System.out.println("age:[" + element.elementText("age") + "]");
for (Iterator j = element.elementIterator("instance_info"); j
.hasNext();) {
element2 = (org.dom4j.Element) j.next();
System.out.println("\tnum:[" + element2.elementText("num")
+ "]");
System.out.println("\tcode:["
+ element2.elementText("code") + "]");
for (Iterator k = element2.elementIterator("instance"); k
.hasNext();) {
element3 = (org.dom4j.Element) k.next();
System.out.println("\t\tip:["
+ element3.elementText("ip") + "]");
System.out.println("\t\tmask:["
+ element3.elementText("mask") + "]");
}
}
}
} catch (DocumentException e) {
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
long end = System.currentTimeMillis();
System.out.println("耗时:" + (end - start) + "ms");
}
}