Java递归遍历XML所有元素
做一个递归遍历XML的例子,为更为复杂的解析工作做基础。
目标:遍历所有的元素节点,并且取出来其中的值,结果打印到控制台。
源代码如下:
本程序依赖DOM4j包。
|
import org.dom4j.Document; import java.util.*; /** // private static Map<String, String> xmlmap = new HashMap<String, String>(); //要测试的xml对象 public static void main(String args[]) throws DocumentException { System.out.println("-----------原xml内容------------"); } /** /** public String getListString(List<Leaf> elemList) { /** public Leaf(String xpath, String value) { public String getXpath() { public void setXpath(String xpath) { public String getValue() { public void setValue(String value) { |
运行结果:
-----------原xml内容------------
| <?xml version="1.0" encoding="GBK"?> <doc> <person> <name>某人</name> <adds> <add ID="10002"> <BS>10002</BS> <note>西安市太白路</note> </add> <add ID=""> <BS>10002</BS> <note>空ID节点啊</note> </add> <add> <BS>10002</BS> <note>空ID节点啊</note> </add> <add ID="10001"> <BS xmlns="10001"/> <note>西安市太白路2</note> </add> </adds> </person> <other> <name ID="HEHE">ASDF</name> </other> </doc> |
-----------解析结果------------
| /doc/person/name = 某人 /doc/person/adds/add/BS = 10002 /doc/person/adds/add/note = 西安市太白路 /doc/person/adds/add/BS = 10002 /doc/person/adds/add/note = 空ID节点啊 /doc/person/adds/add/BS = 10002 /doc/person/adds/add/note = 空ID节点啊 /doc/person/adds/add/*[name()='BS'] = /doc/person/adds/add/note = 西安市太白路2 /doc/other/name = ASDF Process finished with exit code 0 |
可以发现,有很多xpath相同的值域。
相关专题
- Java环境安装配置 (5793篇文章)
- Java编程开发手册 (8470篇文章)
- XML详解 (1568篇文章)
- Java网络及通讯编程 (682篇文章)
- Web开发 (433篇文章)
- Java远程通讯可选技术及原理 (145次浏览)
- Java基础知识:初学者必须理解的六大问题 (76次浏览)
- 九个非常值得一看的MySpace程序 (72次浏览)
- Java初学者必须理解的六个大问题 (70次浏览)
- 微软企业级平台呼之欲出 英雄由“此”诞生 (66次浏览)
- Java基础知识:谈谈简单Hibernate入门 (58次浏览)
- struts验证框架开发详解 (48次浏览)
- Java入门-浅析Java学习从入门到精通 (47次浏览)
- 关于提高自己水平的十大技术 (47次浏览)
- Eclipse开发经典教程:SWT布局 (46次浏览)



