如下面的xml
<kvs>
<kv>
<key>f1</key>
<value>100</value>
</kv>
<kv>
<key>f2</key>
<value>200</value>
</kv>
</kvs>
转成HashMap
存储键值对
f1, 100
f2, 200
<kvs>
<kv>
<key>f1</key>
<value>100</value>
</kv>
<kv>
<key>f2</key>
<value>200</value>
</kv>
</kvs>
转成HashMap
存储键值对
f1, 100
f2, 200
解决方案 »
- Java JFrame或者JDialog如何实现任务栏图标的高亮闪烁,像QQ那种
- 不同系统下文件的读取问题!!求救!
- Hibernate自动连接
- 我想问个简单的问题!!
- 开始进入java,我有好多问题请教大家
- 大家帮我看一下这个语句好吗?
- 用Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");的情况下,可不可以用dbo的用户名和密码来操作自定义的数据库,要怎
- 请问,能否创建一个抽象类的实例?一定给分!!!
- 谁给我讲一下应用服务器?
- 关于调用顺序的问题
- GBK-utf8-GBK转换问题
- java串口接收数据笔记本和台式机不一样
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class XMLOper {
@SuppressWarnings({ "rawtypes", "unchecked" })
public static void main(String[] args) {
SAXReader reader = new SAXReader();
File file = new File("d:\\test.xml");
Map map = new HashMap();
try {
Document document = reader.read(file);
Element root = document.getRootElement();
List<Element> elements = root.elements("kv");
for(Iterator it = elements.iterator();it.hasNext();){
Element kv = (Element)it.next();
Element key = kv.element("key");
Element value = kv.element("value");
map.put(key.getText(), value.getText());
}
} catch (DocumentException e) {
e.printStackTrace();
}
System.out.println(map);
}
}
public static Map toMap(String xml) {
ByteArrayInputStream sin = new ByteArrayInputStream(xml.getBytes());
return toMap(sin);
}
/**
* 将xml输入流转成map对象
* @param in -- xml输入流
* @return -- map对象
*/
public static Map toMap(InputStream in) { try {
SAXReader reader = new SAXReader();
Document doc = reader.read(in);
return toMap(doc.getRootElement());
} catch (Exception ex) {
throw new RuntimeException("解析xml成map对象异常", ex);
}
}