b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

dom4j解析xml字符串实例

电脑杂谈  发布时间:2016-05-20 05:01:29  来源:网络整理

你是否正在寻找关于dom4j的内容?让我把最权威的东西奉献给你:

dom4j解析xml字符串实例

dom4j

与利用DOM、SAX、JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异、功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml。dom4j是一套开源的api。实际项目中,往往选择dom4j来作为解析xml的利器。

先来看看dom4j中对应XML的DOM树建立的继承关系

dom4j解析xml字符串实例

针对于XML标准定义,对应于图2-1列出的内容,dom4j提供了以下实现:

dom4j解析xml字符串实例

同时,dom4j的NodeType枚举实现了XML规范中定义的node类型,。如此可以在遍历xml文档的时候通过常量来判断节点类型了。

常用API

class org.dom4j.io.SAXReader

  • read 提供多种读取xml文件的方式,返回一个Domcument对象
  • interface org.dom4j.Document

  • iterator 使用此法获取node
  • getRootElement 获取根节点
  • interface org.dom4j.Node

    interface org.dom4j.Element

    interface org.dom4j.Attribute

  • getName 获取属性名
  • getValue 获取属性值
  • interface org.dom4j.Text

  • getText 获取Text节点值
  • interface org.dom4j.CDATA

  • getText 获取CDATA Section值
  • interface org.dom4j.Comment

  • getText 获取注释
  • 实例一:

    java.util.HashMap; 3 import java.util.Iterator; 4 import java.util.Map; org.dom4j.Document; 7 import org.dom4j.DocumentException; 8 import org.dom4j.DocumentHelper; 9 import org.dom4j.Element; * @Title: TestDom4j.java 13 * @Package 14 * @Description: 解析xml字符串 无处不在 16 * @date 2012-11-20 下午05:14:05 V1.0 TestDom4j { readStringXml(String xml) { 22 Document doc = null; 23 try { 读取并解析XML文档 26 // SAXReader就是一个管道,用一个流的方式,把xml文件读出来 User.hbm.xml表示你要解析的xml文档 29 // Document document = reader.read(new File("User.hbm.xml")); doc = DocumentHelper.parseText(xml); Element rootElt = doc.getRootElement(); System.out.println("根节点:" + rootElt.getName()); Iterator iter = rootElt.elementIterator("head"); // 获取根节点下的子节点head (iter.hasNext()) { 40 41 Element recordEle = (Element) iter.next(); System.out.println("title:" + title); 44 45 Iterator iters = recordEle.elementIterator("script"); // 获取子节点head下的子节点script (iters.hasNext()) { 49 50 Element itemEle = (Element) iters.next(); String password = itemEle.elementTextTrim("password"); 54 55 System.out.println("username:" + username); 56 System.out.println("password:" + password); 57 } 58 } 59 Iterator iterss = rootElt.elementIterator("body"); ///获取根节点下的子节点body (iterss.hasNext()) { 62 63 Element recordEless = (Element) iterss.next(); System.out.println("result:" + result); 66 67 Iterator itersElIterator = recordEless.elementIterator("form"); // 获取子节点body下的子节点form (itersElIterator.hasNext()) { 70 71 Element itemEle = (Element) itersElIterator.next(); String subID = itemEle.elementTextTrim("subID"); 75 76 System.out.println("banlce:" + banlce); 77 System.out.println("subID:" + subID); 78 } 79 } 80 } catch (DocumentException e) { 81 e.printStackTrace(); 82 83 } catch (Exception e) { 84 e.printStackTrace(); 85 86 } 87 } * @description 将xml字符串转换成map xml Map Map readStringXmlOut(String xml) { 95 Map map = new HashMap(); 96 Document doc = null; 97 try { doc = DocumentHelper.parseText(xml); Element rootElt = doc.getRootElement(); System.out.println("根节点:" + rootElt.getName()); Iterator iter = rootElt.elementIterator("head"); (iter.hasNext()) { 109 110 Element recordEle = (Element) iter.next(); String title = recordEle.elementTextTrim("title"); 113 System.out.println("title:" + title); 114 map.put("title", title); Iterator iters = recordEle.elementIterator("script"); (iters.hasNext()) { 119 Element itemEle = (Element) iters.next(); String username = itemEle.elementTextTrim("username"); 122 String password = itemEle.elementTextTrim("password"); 123 124 System.out.println("username:" + username); 125 System.out.println("password:" + password); 126 map.put("username", username); 127 map.put("password", password); 128 } 129 } Iterator iterss = rootElt.elementIterator("body"); (iterss.hasNext()) { 135 Element recordEless = (Element) iterss.next(); String result = recordEless.elementTextTrim("result"); 138 System.out.println("result:" + result); Iterator itersElIterator = recordEless.elementIterator("form"); (itersElIterator.hasNext()) { 143 Element itemEle = (Element) itersElIterator.next(); String banlce = itemEle.elementTextTrim("banlce"); 146 String subID = itemEle.elementTextTrim("subID"); 147 148 System.out.println("banlce:" + banlce); 149 System.out.println("subID:" + subID); 150 map.put("result", result); 151 map.put("banlce", banlce); 152 map.put("subID", subID); 153 } 154 } 155 } catch (DocumentException e) { 156 e.printStackTrace(); 157 } catch (Exception e) { 158 e.printStackTrace(); 159 } 160 return map; 161 } main(String[] args) { String xmlString = "

    以上就是关于dom4j的全部内容,相信你一定会非常满意。


    本文来自电脑杂谈,转载请注明本文网址:
    http://www.pc-fly.com/a/shenmilingyu/article-5599-1.html

      相关阅读
        发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

        热点图片
        拼命载入中...