import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element; /**
*
* @author y
*/
public class Test { /**
* @param args the command line arguments
*/
public static void main(String[] args) throws DocumentException {
test3();
} public static void test3() throws DocumentException{
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<books>" +
" <book>" +
" <name>Think in Java</name>" +
" <price>120.0</price>" +
" <chapters>"+
" <c>001</c>"+
" <c>002</c>"+
" <c>003</c>"+
" </chapters>"+
" </book>" +
" <book>" +
" <name>Think in Java2</name>" +
" <price>220.0</price>" +
" </book>" +
"</books>";
Document doc = DocumentHelper.parseText(str);
Element books = doc.getRootElement();
List<Element> childEles = books.elements();
Iterator<Element> iter = childEles.iterator();
while(iter.hasNext()){
Element book = iter.next(); Element name = book.element("name");
Element price = book.element("price"); System.out.println("name:"+name.getText()+",price:"+price.getText()); Element chapters = book.element("chapters");
if(null!=chapters){
Iterator<Element> chaptersIter= chapters.elementIterator();
if(null!=chaptersIter){
while(chaptersIter.hasNext()){
Element c = chaptersIter.next();
System.out.println("===>"+c.getText());
}
}
} }
} public static void test2() throws DocumentException{
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<books>" +
" <book>" +
" <name>Think in Java</name>" +
" <price>120.0</price>" +
" </book>" +
" <book>" +
" <name>Think in Java2</name>" +
" <price>220.0</price>" +
" </book>" +
"</books>"; Document doc = DocumentHelper.parseText(str); Element books = doc.getRootElement(); List<Element> childEles = books.elements();
Iterator<Element> iter = childEles.iterator();
while(iter.hasNext()){
Element book = iter.next(); Element name = book.element("name");
Element price = book.element("price"); System.out.println("name:"+name.getText()+",price:"+price.getText());
}
} public static void test1() throws DocumentException{
String str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" +
"<dzswdjz>" +
" <qr_code>" +
"   <nsrsbh>nsrsbh</nsrsbh >" +
"   <retStatus >retStatus</retStatus>" +
"   <img_name>img_name</img_name>" +
" <img_byteString>img_byteString</img_byteString>" +
" </qr_code>" +
"</dzswdjz>";
Document doc = DocumentHelper.parseText(str); //获取到父节点
Element dzswdjz = doc.getRootElement(); //定位到qr_code节点
Element qr_code = dzswdjz.element("qr_code"); Element nsrsbh = qr_code.element("nsrsbh");
Element retStatus = qr_code.element("retStatus");
Element img_name = qr_code.element("img_name");
Element img_byteString = qr_code.element("img_byteString"); System.out.println("nsrsbh:"+nsrsbh.getText());
System.out.println("retStatus:"+retStatus.getText());
System.out.println("img_name:"+img_name.getText());
System.out.println("img_byteString:"+img_byteString.getText());
}
}

dom4j解析xml字符串的更多相关文章

  1. dom4j解析xml字符串实例

    DOM4J 与利用DOM.SAX.JAXP机制来解析xml相比,DOM4J 表现更优秀,具有性能优异.功能强大和极端易用使用的特点,只要懂得DOM基本概念,就可以通过dom4j的api文档来解析xml ...

  2. java中使用axis发布和调用webService及dom4j解析xml字符串

    工作中需要调用webService服务,这里记录一下如何在java中发布和调用webService. 需要的jar包: webService服务端: import javax.jws.WebMetho ...

  3. java解析xml字符串(用dom4j)

    package com.smsServer.Dhst; import java.util.HashMap; import java.util.Iterator; import java.util.Ma ...

  4. java解析xml字符串为实体(dom4j解析)

    package com.smsServer.Dhst; import java.util.HashMap; import java.util.Iterator; import java.util.Ma ...

  5. dom4j解析xml文件和字符串

    转自:http://www.cnblogs.com/black-spike/p/9776180.html 最近在工作中,需要调别的接口,接口返回的是一个字符串,而且内容是xml格式的,结果在解析jso ...

  6. 【JAVA使用XPath、DOM4J解析XML文件,实现对XML文件的CRUD操作】

    一.简介 1.使用XPath可以快速精确定位指定的节点,以实现对XML文件的CRUD操作. 2.去网上下载一个“XPath帮助文档”,以便于查看语法等详细信息,最好是那种有很多实例的那种. 3.学习X ...

  7. dom4j解析xml文档全面介绍

    一.dom4j介绍 dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点, ...

  8. Java进阶(二十七)使用Dom4j解析XML文件

    使用Dom4j解析XML文件 写在前面的话 由于论文实验要求,需要实现操作XML文档,为此想到了dom4j这个工具,使用之后深感受益.在此分享给大家,以此共勉. 注:本文转载自http://blog. ...

  9. 解析xml字符串时报“前言中不允许有内容”错误。

    一,问题出现经过: j基于java语言webservic服务端接收客户端 传来的xml字符串用 解析时总报:org.dom4j.DocumentException: Error on line 1 o ...

随机推荐

  1. 解密随机数生成器(二)——从java源码看线性同余算法

    Random Java中的Random类生成的是伪随机数,使用的是48-bit的种子,然后调用一个linear congruential formula线性同余方程(Donald Knuth的编程艺术 ...

  2. POJ1743---Musical Theme (后缀数组+二分)

    题意 :求最长不相交重复子串的长度.. 可以先求出LCP,,对于长度 二分出答案..(竟然不会写二分) #include <set> #include <map> #inclu ...

  3. [LeetCode] 57. Insert Interval 解决思路

    Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...

  4. UUID详解

    什么是UUID? UUID是Universally Unique Identifier的缩写,它是在一定的范围内(从特定的名字空间到全球)唯一的机器生成的标识符.UUID具有以下涵义: 经由一定的算法 ...

  5. Scala-变量、常量和懒加载

    package com.mengyao.scala.function /** * Scala的变量声明和使用(可变类型和值类型) *  * @author mengyao */object Test0 ...

  6. RHEL修改主机名和IP

    1,     修改主机名 vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=NEWHOSTNAME       #修改该值作为主机名,如:NEWPC ...

  7. JS浏览器对象-window对象

    代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title ...

  8. css+javascript 写的HTML5 微信端输入支付密码键盘

    微信端没有纯数字键盘,用html5写了一个模仿ios输入支付密码键盘效果 keyboard.js var _keyboard = {}; $(document).ready(function(){ _ ...

  9. windows 7 SDK和DDK下载地址

    查个小资料,得到地址,顺便记录一下. Windows Driver Kit Version 7.1.0 http://www.microsoft.com/downloads/details.aspx? ...

  10. coco2d-html5制作弹弓射鸟第一部分---橡皮筋

    一.写在前面的话 最近在学习cocos2d-html5方面的知识,一直想从事游戏方面的工作,自己也找了好多资料.网上关于cocos2d-html5的教程真的不多,也只有自己摸索,慢慢看示例代码.由于本 ...