Dom4j 查找节点或属性

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则需要转换,可以看之前的一篇"

org.w3c.dom.Document 与org.dom4j.Document互转

"

 1 public String getContentString(Document document,String xpathstr){
 2
 3         List list = document.selectNodes(xpathstr);
 4         String result="";
 5
 6         Iterator iter = list.iterator();
 7         iter = list.iterator();
 8         if (iter.hasNext()) {
 9
10             Object o=iter.next();
11             if(o instanceof Attribute){
12                 Attribute attribute = (Attribute) o;
13                 //hm.put(attribute.getName(),attribute.getValue());
14                 result=attribute.getValue();
15                 if(debugf){
16                     System.out.println(attribute.getName()+":"+attribute.getValue());
17                 }
18
19             }
20             if(o instanceof Element){
21                 Element element = (Element) o;
22                  String name = element.getName();
23                  String value = element.getText();
24                  //hm.put(name, value);
25                  result=value;
26                  if(debugf){
27                  System.out.println(name+":"+value);
28                  }
29             }
30         } else {
31             return result;
32         }
33         return result;
34     }
时间: 2024-10-12 21:49:46

Dom4j 查找节点或属性的相关文章

Dom4j向XML中增加节点与属性——(四)

先获取到节点,然后在节点山添加Element 添加节点 添加属性 设置开始标签与结束标签的值book.addElement("描述").addAttribute("name", "xxxxxx").setText("一本好书!"); 解决中文乱码问题: 输出流最好用字节流(Stream),字节流可以控制编码格式,Writer是字符流. 如果xml中编码是utf-8,格式器也用utf-8.格式器与xml文档的编码格式要一致. 1

DOM操作 ——如何添加、移除、移动、复制、创建和查找节点等。

DOM操作 --如何添加.移除.移动.复制.创建和查找节点等. (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 (2)添加.移除.替换.插入 (1)创建新节点 createDocumentFragment()    //创建一个DOM片段 createElement()   //创建一个具体的元素 createTextNode()   //创

XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 <?xml version="1.0" encoding="utf-8" ?> <pets>   <cat color="black" weight="10">     <price>100</price>    

javasript 的DOM 节点操作:创建,插入,删除,复制以及查找节点

DOM 含义: DOM 是文档对象模型(Document Object Model) 是一种基于浏览器编程的一套API 接口,我W3C 出台推荐的标准.其赋予了JS 操作节点的能力,当网页被加载时,浏览器就会创建页面的文档对象模型. 节点: 根据W3C的HTML DOM 标准,HTML 文档中的所有内容都是节点. 1. 整个文档是一个文档节点 2. 每个HTML元素是元素节点 3. HTML元素内的文本是文本节点 4.每个HTML属性都是属性节点 5.每个注释都是注释节点 所以HTML DOM

DOM怎样添加、移除、移动、复制、创建和查找节点

DOM怎样添加.移除.移动.复制.创建和查找节点// 创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 // 添加.移除.替换.插入 appendChild() removeChild() replaceChild() insertBefore() //在已有的子节点前插入一个新的子节点 // 查找 getElementsByTagName() //

JS中的DOM操作怎样添加、移除、移动、复制、创建和查找节点

DOM操作怎样添加.移除.移动.复制.创建和查找节点? (1)创建新节点 createDocumentFragment() //创建一个DOM片段 createElement() //创建一个具体的元素 createTextNode() //创建一个文本节点 (2)添加.移除.替换.插入 appendChild() removeChild() replaceChild() insertBefore() //在已有的子节点前插入一个新的子节点 (3)查找 getElementsByTagName(

Selenium 查找节点

Selenium 可以驱动浏览器完成各种操作,比如填充表单.模拟点击等.比如,我们想要完成向某个输入框输入文字的操作,总需要知道这个输入框在哪里吧?而 Selenium 提供了一系列查找节点的方法,我们可以用这些方法来获取想要的节点,以便下一步执行一些动作或者提取信息. 如下,我们通过右键点击搜索框 --- 检查,提取淘宝页面中搜索框这个节点: 可以看到 id .name .class 等属性,那么在 Python 中可以这样提取节点: from selenium import webdrive

节点的属性

1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 3 <head> 4 &l

轻松学习JavaScript二十一:DOM编程学习之获取元素节点的子节点和属性节点

我们这里所说的获取元素节点的所有子节点包含元素子节点和文本节点两种.还是拿上一篇博文的代码实例进行 分析: <span style="font-size:18px;"><span style="font-size:18px;"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1