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. 关于Action返回结果类型的事儿(下)

    原文:关于Action返回结果类型的事儿(下) using System;  using System.Collections.Generic;  using System.Linq;  using ...

  2. left join 关联条件位置

    select e.last_name, e.department_id, d.department_name from hr.employees e left outer join hr.depart ...

  3. google开源的C++性能分析工具 - gperftools

    gperftools是Google提供的一套工具,其中的一个功能是CPU profiler,用于分析程序性能,找到程序的性能瓶颈. 安装 gperftools:http://code.google.c ...

  4. linux c 之signal 和sigaction区别

    http://blog.csdn.net/muge0913/article/details/7331129 要对一个信号进行处理,就需要给出此信号发生时系统所调用的处理函数.可以对一个特定的信号(除去 ...

  5. 护肤品总结 Skin Care (2)

    接护肤品总结(1) 面膜篇 个人不太喜欢片状面膜,所以用膏状面膜比较多. 1. Origins Drink Up-Intensive Overnight Mask 悦木之源补水睡眠面膜 牛油果油油的质 ...

  6. Easyui获取数据库date数据的显示

    众所周知Oracle数据库中的date与众不同,在Easyui中显示数据库的date类型如果不经过转化为显示为Object.因此需要经过处理. 1.首先你要写转化date的JavaScript < ...

  7. Gradle[0]依赖本地JAR和远程仓库JAR的配置

    1.对本地Jar的依赖配置 如果不知道Jar包的远程仓库地址,而项目中又要使用该Jar包,就需要进行本地设置. 例如,需要使用的Jar包为sigar.jar,则需要在项目根目录下建目录:libs,并把 ...

  8. # linux下安装Nodejs环境

    1.下载二进制文件到本地 root@ubuntu:/home/zhu/Downloads# node-v6.3.1-linux-x64.tar.xz 2.解压文件到当前文件夹 root@ubuntu: ...

  9. 数据库(SQLITE3函数总结): sqlite3_open, sqlite3_exec, slite3_close,sqlite3_prepare_v2,sqlite3_column_text,

    Sqlite3 的确非常好用.小巧.速度快.近期研究它,有一些收获,这里把我对 sqlite3 的研究列出来,以备忘记. 导入SQLLite library并引入头文件. libsqlite3.dyl ...

  10. 1034 - Navigation

    Global Positioning System (GPS) is a navigation system based on a set of satellites orbiting approxi ...