Domj4读取XML文件--实现获取XML文件中所有的标签节点
发布时间:2020-12-16 08:25:45 所属栏目:百科 来源:网络整理
导读:Domj4读取XML文件--实现获取XML文件中所有的标签节点 contact.xml ?xml version="1.0" encoding="GBK"?contactList contact id="001"name张三/nameage20/agephone1234567/phoneemail1234/emailqq222/qq/contactcontact id="002"namelisi/nameage20/agephone1
Domj4读取XML文件--实现获取XML文件中所有的标签节点 contact.xml <?xml version="1.0" encoding="GBK"?> <contactList> <contact id="001"> <name>张三</name> <age>20</age> <phone>1234567</phone> <email>1234</email> <qq>222</qq> </contact> <contact id="002"> <name>lisi</name> <age>20</age> <phone>1234567</phone> <email>1234</email> <qq>222</qq> </contact> </contactList>
Demo2.java 实现获取XML文件contact.xml中的所有节点 package gz.itcast.a_dom4j_read; import java.io.File; import java.util.Iterator; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.SAXReader; import org.junit.Test; /* * 第二个dome4j读取XML文件内容的例子 * 节点 * 标签 * 属性 * 文本 */ public class Demo2 { /* * 得到节点信息 * */ @Test public void test1() throws Exception{ SAXReader reader = new SAXReader(); Document doc = reader.read(new File("./src/contact.xml")); //nodeIterator:得到当前节点下的所有子节点对象(不包含孙节点以下的节点) Iterator<Node> it = doc.nodeIterator(); while(it.hasNext()){ Node node = it.next();//取出元素 String name = node.getName();//得到结点名称 System.out.println(name); //继续取出其下面的子节点 //自由标签节点才有子节点 //判断当前节点是否是标签节点 if(node instanceof Element){ Element elem = (Element)node; Iterator<Node> it2 = elem.nodeIterator(); while(it2.hasNext()){ Node n2 = it2.next(); System.out.println(n2.getName()); } } } } /* * 遍历XML文档的所有节点 */ @Test public void test2() throws Exception{ //读取XML文档,返回Document对象 SAXReader reader = new SAXReader(); Document doc = reader.read(new File("./src/contact.xml")); //得到根标签 Element rooElem = doc.getRootElement(); getChildNodes(rooElem); } /* * 获取传入的标签下的所有子节点 */ private void getChildNodes(Element elem) { System.out.println(elem.getName()); //得到子节点 Iterator<Node> it = elem.nodeIterator(); while(it.hasNext()){ Node node = it.next(); //判断是否是标签节点 if(node instanceof Element){ Element el = (Element)node; //递归取下面的所有节点 getChildNodes(el); } } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Flex与.NET互操作(十):FluorineFx.Net的及时通信应用(App
- makefile – 从源列表生成文件自动生成目标
- Ajax应用――自动补全表单字段(Google Instant)
- Using the Oracle ASM Cluster File System (Oracle ACFS)
- Swift 开发: 文本输入框(UITextField)的用法
- 分享一个别人写的sqlite3使用总结的例子
- actionscript-3 – 无法访问flash中的舞台as3
- ruby-on-rails – 独立于rails app中的模型测试自定义验证功
- (一一〇)正则表达式的基本使用与RegexKitLite的使用
- string – 在FLASH中保留数据数组(Font) – 在AVR GCC中的P