Dom4j 查找节点或属性
2014-11-26 10:22
246 查看
Dom4j 查找节点或属性
例如
1 查找下面xml中的student节点的age属性,
xpathstr="/students/student/@age";
2 查找下面xml中的student节点的telephone的值,
xpathstr="/students/student/telephone";
3 查找下面xml中的student节点的telephone的值,并且要满足name中包含“2030”,用到模糊查找
xpathstr="/students/student[contains("name","2030")]/telephone";
完整的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student name="beijings2014" age="25">
<college>mobile</college>
<telephone>888</telephone>
</student>
<student name="shanghais2019">
<college>pc</college>
<telephone>999</telephone>
</student>
<student name="xi'ans2030">
<college>pad</college>
<telephone>000</telephone>
</student>
</students>
具体方法:查找节点或属性,传入Document 和 xpathstr,此处Document 类型为 org.dom4j.Document,
如果用的是org.w3c.dom.Document则需要转换,可以看之前的一篇"
例如
1 查找下面xml中的student节点的age属性,
xpathstr="/students/student/@age";
2 查找下面xml中的student节点的telephone的值,
xpathstr="/students/student/telephone";
3 查找下面xml中的student节点的telephone的值,并且要满足name中包含“2030”,用到模糊查找
xpathstr="/students/student[contains("name","2030")]/telephone";
完整的xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<students>
<student name="beijings2014" age="25">
<college>mobile</college>
<telephone>888</telephone>
</student>
<student name="shanghais2019">
<college>pc</college>
<telephone>999</telephone>
</student>
<student name="xi'ans2030">
<college>pad</college>
<telephone>000</telephone>
</student>
</students>
具体方法:查找节点或属性,传入Document 和 xpathstr,此处Document 类型为 org.dom4j.Document,
如果用的是org.w3c.dom.Document则需要转换,可以看之前的一篇"
org.w3c.dom.Document 与org.dom4j.Document互转
"public String getContentString(Document document,String xpathstr){ List list = document.selectNodes(xpathstr); String result=""; Iterator iter = list.iterator(); iter = list.iterator(); if (iter.hasNext()) { Object o=iter.next(); if(o instanceof Attribute){ Attribute attribute = (Attribute) o; //hm.put(attribute.getName(),attribute.getValue()); result=attribute.getValue(); if(debugf){ System.out.println(attribute.getName()+":"+attribute.getValue()); } } if(o instanceof Element){ Element element = (Element) o; String name = element.getName(); String value = element.getText(); //hm.put(name, value); result=value; if(debugf){ System.out.println(name+":"+value); } } } else { return result; } return result; }
相关文章推荐
- dom4j解析XML文件,通过属性查找节点,出现异常
- JavaScript基础 通过id查找节点 通过节点的style属性添加鼠标放上出现小手的效果 getElementById style
- jquery中常用的节点查找,属性过滤
- Dom4j解析xml文件-递归遍历所有节点和属性
- org.w3c.dom中节点添加属性,没有一定的顺序,但是dom4j中添加的属性是有顺序的
- DOM4J解析XML文档、Document对象、节点对象节点对象属性、将文档写入XML文件
- Dom4j解析xml文件-递归遍历所有节点和属性
- Dom4j解析xml文件-递归遍历所有节点和属性
- JqueryDOM操作-jquery查找属性节点
- javawebday09(dom4j修改节点删除节点获取属性 xpath)
- dom4j 块数查找节点(非遍历方式)
- [ActionScript 3.0] 根据xml属性查找相应xml节点,递归函数。
- java中dom4j解析xml文件怎么获取节点属性
- Dom4j向XML中增加节点与属性——(四)
- 【python】lxml查找属性为指定值的节点
- dom4j结合xpath获取多命名空间xml中指定id、指定属性节点
- Dom4j解析xml文件-操作节点和属性及写入其他xml文件
- Dom4j解析xml文件-递归遍历所有节点和属性
- Dom4j-操作节点和属性及写入其他xml文件
- dom4j的xpath查找xml的指定节点