java解析xml字符串 后 组装成map形式,求大神
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java解析xml字符串 后 组装成map形式,求大神相关的知识,希望对你有一定的参考价值。
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<test>
<t>
<entry>
<key>1</key>
<value>你</value>
</entry><entry>
<key>2</key>
<value>是</value>
</entry>
<entry>
<key>3</key>
<value>谁</value>
</entry>
</t>
</test>
对上面的节点key,value解析后放到Map里面
1=你, 2=是,3=谁
=====================
说明:使用起来非常简单,就先jquery的dom操作一样方便,jsoup 是一款Java 的HTML、XML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。使用它来做解析非常简单方便。
jsoup中文参考文档:
http://www.open-open.com/jsoup/ 参考技术B package test;
import java.util.HashMap;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JButtonTest
public static void main ( String[] args )
String regex = "\\\\<key\\\\>([^\\\\<]*)\\\\<\\\\/key\\\\>[^\\\\<]*\\\\<value\\\\>([^\\\\<]*)\\\\<\\\\/value\\\\>";
String input = "<?xml version=\\"1.0\\" encoding=\\"UTF-8\\" standalone=\\"yes\\"?>\\r\\n<test>\\r\\n<t>\\r\\n<entry>\\r\\n<key>1</key>\\r\\n<value>你</value>\\r\\n</entry><entry>\\r\\n<key>2</key>\\r\\n<value>是</value>\\r\\n</entry>\\r\\n<entry>\\r\\n<key>3</key>\\r\\n<value>谁</value>\\r\\n</entry>\\r\\n</t>\\r\\n</test>";
Pattern pattern = Pattern.compile (regex);
Matcher matcher = pattern.matcher (input);
HashMap<String, String> map = new HashMap<String, String> ();
while (matcher.find ())
map.put (matcher.group (1), matcher.group (2));
System.out.println (map);
参考技术C xml首先转换为map,然后新建一个map用于存储你所需要的结构,
具体实现可以看以下链接,
http://blog.csdn.net/u011490355/article/details/77775544 参考技术D SAX解析XML还是比较好的,可以百度下 第5个回答 2015-01-27 请问这个xml的在项目中的位置追问
是xml字符串 不是文件
追答Map map = new HashMap();
Document doc = null;
doc = DocumentHelper.parseText(xml); // 将字符串转为XML
Element rootElt = doc.getRootElement(); // 获取根节点
Element t=(Element)rootElt.node(0);
Iterator iter = t.elementIterator(); // 获取t节点下的子节点
while (iter.hasNext())
Element recordEle = (Element) iter.next();
String key = recordEle.elementTextTrim("key"); // 拿到t节点下的子节点entry的key值
String value = recordEle.elementTextTrim("value"); // 拿到t节点下的子节点entry的value值
System.out.println("key:" + key+"value:"+value);
map.put(key, value);
以上是关于java解析xml字符串 后 组装成map形式,求大神的主要内容,如果未能解决你的问题,请参考以下文章