import org.apache.commons.lang3.StringUtils;import org.dom4j.*;import org.dom4j.io.SAXReader;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.JUnit4;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;/** * 测试类: 测试dom4j相关api功能 * * @author chenx * @date 2017/12/5 */@RunWith(JUnit4.class)public class Dom4jTest { private Document document; @Before public void init() throws DocumentException { SAXReader saxReader = new SAXReader(); document = saxReader.read(getClass().getResourceAsStream("Gps_Stops.xml")); } @Test public void testIterator() { Element root = document.getRootElement(); for (Iterator<Element> iterator = root.elementIterator(); iterator.hasNext();) { Element element = iterator.next(); if (element.isTextOnly()) { System.out.println(element.getQualifiedName() ":" element.getTextTrim()); } } } @Test public void testXpath() { List<Node> nodes = document.selectNodes("//G_CONSIDERED_DATE"); for (Node node : nodes) { Element element = (Element) node; Element curDate = element.element("CONSIDERED_DATE"); System.out.println(curDate.getQualifiedName() ":" curDate.getTextTrim()); } } @Test public void testIteratorAttr() { Map<String, String> namespaceMap = new HashMap<String, String>(); namespaceMap.put("ns", "GpsStopsByGroupReport"); XPath xPath = document.createXPath("//ns:table1_GroupName/ns:table1_UserNum_Collection/ns:table1_UserNum"); xPath.setNamespaceURIs(namespaceMap); List<Node> nodes = xPath.selectNodes(document); for(int i=0;i<nodes.size();i ){ Node node=nodes.get(i); System.out.println(node.valueOf("@UserName"));// XPath otherXPath = DocumentHelper.createXPath("//ns:table1_GroupName/ns:table1_UserNum_Collection/ns:table1_UserNum");// otherXPath.setNamespaceURIs(namespaceMap);// List<Node> carsInfos = otherXPath.selectNodes(node);// carsInfos.forEach(carsInfo -> {// String interval = StringUtils.normalizeSpace(carsInfo.valueOf("@UserName"));// System.out.println(interval);// }); } } @Test public void testIteratorByElement() { Element root = document.getRootElement(); Iterator<Element> hotelInfos = root.elements().get(1).elements().get(0).elements().get(0).elements().get(0).elements().iterator(); while (hotelInfos.hasNext()) { Element hotelInfo = hotelInfos.next(); System.out.println(hotelInfo.attributeValue("Group")); Iterator<Element> carInfos = hotelInfo.elements().get(0).elements().iterator(); while (carInfos.hasNext()) { Element carInfo = carInfos.next(); System.out.println(carInfo.attributeValue("UserName")); } } }}
下载java读写xml文件 示例源码(Dom4j)用户还喜欢
- 18480 文章数
- 500万+ 热度
作者专栏
编辑推荐
- 淡抹u2引擎,修复内容较多,物有所值
- 界域传说·经典巨作=传世单机(一键安装)
- 丸子版本(175个传世版本大集合)
- GS版本:神话公益服务端+客户端
- 图片放大工具(放大图片不模糊)
- 剪映无限制VIP版
- 传奇世界客户端下载器,史上最全传世客户端
- 传世GS20220920商业引擎注册+登录配置器 解压密码是1
- U2官方排行榜游戏网关 支持元神,支持传家宝
- GS开战传世客户端+服务端
- (淡漠夕阳)u2引擎合区工具
- 传世GS引擎消除“你的游戏客户端版本号过旧,请及时更新”提示
- 传世一机多区双线路配置器--免密码版本
- 传世凤凰登陆器劫持修复软件
- SQLite3 for Navicat
- 传奇世界npc对话框编辑工具
- 传世GS落霞铭文服务器端
- gs_20210409引擎包+注册机(无限制)
- 传奇世界NPC对话封包查看器[支持时长版和极速版]
- 彩虹引擎传世脚本编辑工具1.7版来了,支持函数脚本翻译
评论