Java全面解析string类型的xml字符串

网友投稿 1104 2022-08-24


Java全面解析string类型的xml字符串

目录解析string类型的xml字符串所需要的包自行导入解析String类型t复杂xml,多级节点,最好的例子字符串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

http:// 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 = "aa221010.1.1.2999910.1.1.571723310.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:["

+ elemhttp://ent3.elementText("ip") + "]");

System.out.println("\t\tmask:["

http:// + element3.elementText("mask") + "]");

}

}

}

} catch (DocumentException e) {

e.printStackTrace();

} catch (UnsupportedEncodingException e) {

e.printStackTrace();

}

long end = System.currentTimeMillis();

System.out.println("耗时:" + (end - start) + "ms");

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python列表推导式中使用if和if-else(python for if 列表推导式)
下一篇:python列表推导式中使用if和if-else(python列表推导式if else)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~