- 浏览: 169194 次
- 性别:
文章分类
最新评论
-
18335864773:
推荐用 pageoffice 导出 word ,不需要另存 x ...
java导出含图片的word -
lfyssm:
GOOD
JAVA 调用SAP端接口 -
yixi2166:
写的真好 有帮助
JAVA 调用SAP端接口 -
QQ1145306946:
能不能加你的QQ呢?有几个问题想问你的,呵呵
回答“QQ1145306946”提的问题“jsp 勾选数据添加到另一个页面” -
康敏栋:
QQ1145306946 写道请问最后的代码function ...
回答“QQ1145306946”提的问题“jsp 勾选数据添加到另一个页面”
转自:http://blog.chinaunix.net/uid-25728370-id-2983116.html
package com.smsServer.Dhst; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.DocumentHelper; import org.dom4j.Element; import com.common.object.SmsSendResponseObject; /** * @description 解析xml字符串 */ public class Test { public void readStringXml(String xml) { Document doc = null; try { // 读取并解析XML文档 // SAXReader就是一个管道,用一个流的方式,把xml文件读出来 // SAXReader reader = new SAXReader(); //User.hbm.xml表示你要解析的xml文档 // Document document = reader.read(new File("User.hbm.xml")); // 下面的是通过解析xml字符串的 doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称 Iterator iter = rootElt.elementIterator("head"); // 获取根节点下的子节点head // 遍历head节点 while (iter.hasNext()) { Element recordEle = (Element) iter.next(); String title = recordEle.elementTextTrim("title"); // 拿到head节点下的子节点title值 System.out.println("title:" + title); Iterator iters = recordEle.elementIterator("script"); // 获取子节点head下的子节点script // 遍历Header节点下的Response节点 while (iters.hasNext()) { Element itemEle = (Element) iters.next(); String username = itemEle.elementTextTrim("username"); // 拿到head下的子节点script下的字节点username的值 String password = itemEle.elementTextTrim("password"); System.out.println("username:" + username); System.out.println("password:" + password); } } Iterator iterss = rootElt.elementIterator("body"); ///获取根节点下的子节点body // 遍历body节点 while (iterss.hasNext()) { Element recordEless = (Element) iterss.next(); String result = recordEless.elementTextTrim("result"); // 拿到body节点下的子节点result值 System.out.println("result:" + result); Iterator itersElIterator = recordEless.elementIterator("form"); // 获取子节点body下的子节点form // 遍历Header节点下的Response节点 while (itersElIterator.hasNext()) { Element itemEle = (Element) itersElIterator.next(); String banlce = itemEle.elementTextTrim("banlce"); // 拿到body下的子节点form下的字节点banlce的值 String subID = itemEle.elementTextTrim("subID"); System.out.println("banlce:" + banlce); System.out.println("subID:" + subID); } } } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /** * @description 将xml字符串转换成map * @param xml * @return Map */ public static Map readStringXmlOut(String xml) { Map map = new HashMap(); Document doc = null; try { doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点 System.out.println("根节点:" + rootElt.getName()); // 拿到根节点的名称 Iterator iter = rootElt.elementIterator("head"); // 获取根节点下的子节点head // 遍历head节点 while (iter.hasNext()) { Element recordEle = (Element) iter.next(); String title = recordEle.elementTextTrim("title"); // 拿到head节点下的子节点title值 System.out.println("title:" + title); map.put("title", title); Iterator iters = recordEle.elementIterator("script"); // 获取子节点head下的子节点script // 遍历Header节点下的Response节点 while (iters.hasNext()) { Element itemEle = (Element) iters.next(); String username = itemEle.elementTextTrim("username"); // 拿到head下的子节点script下的字节点username的值 String password = itemEle.elementTextTrim("password"); System.out.println("username:" + username); System.out.println("password:" + password); map.put("username", username); map.put("password", password); } } Iterator iterss = rootElt.elementIterator("body"); ///获取根节点下的子节点body // 遍历body节点 while (iterss.hasNext()) { Element recordEless = (Element) iterss.next(); String result = recordEless.elementTextTrim("result"); // 拿到body节点下的子节点result值 System.out.println("result:" + result); Iterator itersElIterator = recordEless.elementIterator("form"); // 获取子节点body下的子节点form // 遍历Header节点下的Response节点 while (itersElIterator.hasNext()) { Element itemEle = (Element) itersElIterator.next(); String banlce = itemEle.elementTextTrim("banlce"); // 拿到body下的子节点form下的字节点banlce的值 String subID = itemEle.elementTextTrim("subID"); System.out.println("banlce:" + banlce); System.out.println("subID:" + subID); map.put("result", result); map.put("banlce", banlce); map.put("subID", subID); } } } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } return map; } public static void parse(String xml) { Document doc = null; try { doc = DocumentHelper.parseText(xml); // 将字符串转为XML Element rootElt = doc.getRootElement(); // 获取根节点smsReport Iterator iters = rootElt.elementIterator("sendResp"); // 获取根节点下的子节点sms while (iters.hasNext()) { Element recordEle1 = (Element) iters.next(); Iterator iter = recordEle1.elementIterator("sms"); int i=0; // 遍历sms节点 while (iter.hasNext()) { Element recordEle = (Element) iter.next(); SmsSendResponseObject r = new SmsSendResponseObject(); String phone = recordEle.elementTextTrim("phone"); // 拿到sms节点下的子节点stat值 String smsID = recordEle.elementTextTrim("smsID"); // 拿到sms节点下的子节点stat值 System.out.println(phone+"==="+smsID); } } } catch (DocumentException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { // 下面是需要解析的xml字符串例子 String xmlString = "<html>" + "<head>" + "<title>dom4j解析一个例子</title>" + "<script>" + "<username>yangrong</username>" + "<password>123456</password>" + "</script>" + "</head>" + "<body>" + "<result>0</result>" + "<form>" + "<banlce>1000</banlce>" + "<subID>36242519880716</subID>" + "</form>" + "</body>" + "</html>"; /* * Test2 test = new Test2(); test.readStringXml(xmlString); */ Map map = readStringXmlOut(xmlString); Iterator iters = map.keySet().iterator(); while (iters.hasNext()) { String key = iters.next().toString(); // 拿到键 String val = map.get(key).toString(); // 拿到值 System.out.println(key + "=" + val); } String xml="<batchSendResp><sendResp><sms><phone>137000000</phone><smsID>ff8080813349da9001334f0eed8c5923</smsID></sms></sendResp><sendResp><sms><phone>187000000</phone><smsID>ff8080813349da9001334f0eee045924</smsID></sms></sendResp></batchSendResp>"; parse(xml); } }
运行之后的结果会是: 根节点:html title:dom4j解析一个例子 username:yangrong password:123456 result:0 banlce:1000 subID:36242519880716 result=0 username=yangrong title=dom4j解析一个例子 subID=36242519880716 banlce=1000 password=123456 137000000===ff8080813349da9001334f0eed8c5923 187000000===ff8080813349da9001334f0eee045924
发表评论
-
test
2018-06-22 20:09 0{"expand":" ... -
oracle查询哪些表被锁以及解锁
2017-05-27 17:45 641--查询被锁表的session_id select b.o ... -
Oracle手工修改JOB属性(转载mark)
2017-05-18 16:01 733转载地址:http://blog.itpub.net/2913 ... -
将Oracle 11g改为密码大小写不敏感的方法
2014-03-10 15:41 881转载地址:http://blog.sina.com.cn/s/ ... -
鼠标移动显示层
2013-12-24 15:56 932转自csdn中一个朋友的回答答案http://bbs.csdn ... -
webservice客户端不生成JAXBElement类型
2013-12-13 22:10 3302webservice用MyEclipse根据wsdl自动生成代 ... -
Oracle使用SQL语句修改字段类型
2013-07-09 15:00 14821.如果表中没有数据 alter table 表名 modi ... -
StringUtils的isBlank与isEmply
2013-05-16 14:00 921转载地址:http://www.cnblogs.com/Xia ... -
MySQL简单的复习
2013-05-09 19:52 767看到MySQL就像到两个字——“小”、“快”。 重温MysQL ... -
JS数值之间的乘除计算
2013-05-08 22:25 1648实现功能:将总共工作小时sumHour转换成X天X小时,按照每 ... -
几道自己不会的面试题(很简单)
2013-03-22 19:14 8971.下面输出的结果是 Integer i1 = 127; ... -
java高并发解决方案
2013-03-20 17:06 883转载地址:http://www.juzik ... -
oracle学习2
2013-03-19 12:09 0存储过程 1.基本语法 创建存储过程 create proce ... -
jrebel在Myeclipse中的使用
2013-03-05 18:23 4965JRebel是一款JAVA虚拟机插件,它使得JAVA程序员能在 ... -
oracle学习1
2013-03-04 17:03 9031.查看oracle sql文的运行时间 进入 sqlplu ... -
Weblogic的那些端口
2013-02-22 09:31 2087转载地址:http://blog.sina.com.cn/s/ ... -
oracle wm_concat(column)函数的使用
2013-02-01 17:18 1017转载地址:http://database.51cto.com/ ... -
oracle根据分隔符将字符串分割成数组函数
2013-01-16 10:29 10666--创建表类型 create or replace type ... -
javascript:window.open 打开最大化窗口设置及详解
2013-01-15 16:22 1970转载地址:http://www.cnblogs.com/yun ... -
离开页面执行 onbeforeunload与onunload事件区别
2013-01-06 11:24 1344onunload,onbeforeunload都是在刷新或关闭 ...
相关推荐
Dom4j遍历解析XMLDom4j遍历解析XML
1、xml文档解析 2、 dom4j解析xml 3、实现xml文件解析 xml字符串解析 xml MAP键值对解析 4、实现xml写入与生成文件
xml数据前后台解析;提供了两种方式:dom4j与jdom对xml文件、xml字符串的读与写操作;同时实现在前台用jquery解析xml,将数据展示在页面上,程序可以跑
dom4j以String的方式读取XML的内容,并给String的值赋值,写入XML中
将xml写成字符串的形式,采用dom4j进行解析,一个简单的例子
使用 dom4j 将 XML 文档解析为我自己的格式 格式: 私人字符串名称; 私有字符串值; 私人列表 childList; private Map<String> propMap = new HashMap(); 意义 将 XML 文档对象转换成这个格式对象(XmlElement...
WebService在传递数据的时候只能传递字符串,当我们返回一些简单的字符串时我们可以直接返回,但是当我们想返回比如List,Map等复杂类型的数据时拼接字符串就是个很麻烦的工作,这时我们就用到了dom4j这个工具。
Java解析XML的四种方法 1. DOM生成和解析XML文档 2. SAX生成和解析XML文档 3. DOM4J生成和解析XML文档 4. JDOM生成和解析XML
使用dom4j封装的工具类,可以实现 xml to map ,map to xml 互相转换,带属性 不带属性,有根节点 和无根节点都可以转换,具体看测试代码
Dom4jDemo字符串转xml,通过dom4j解析xml demo
利用JSP直接读写XML文件,分别用DOM解析器和SAX解析器加以实现,非常适合初学者入门,作为一个了解jsp与XML的台阶
Java XML文件操作类:Dom4jHelper源代码文件下载,实现的功能:解析url xml文档,遍历解析文档,遍历解析元素,解析文件,获得根元素,修改xml某节点的值,输出文件路径及文件名 如果输出文件为null,则默认为原xml文件,...
但是是XML字符串,则在两种浏览器下就会有所不同,IE下可以直接使用LoadXML方法解析XML字符串,而在FF下则要使用DOMParser 对象的parseFromString() 方法即 var oParser=new DOMParser(); xmlDoc=oParser....
基于Dom4j的Xml解析与组装项目工具类.
java 利用了xml报文传输,在java中使用了dom4j解析器进行对xml字符串解析. c#利用XmlDataDocument解析XML报文的简单应用.
JAVA对xml操作 利用DOM解析XML文件以及各种转化和生成XML
Java Dom4jHelper.java XML文件操作类下载,可实现解析xml文档,遍历文档,遍历解析元素,获得根元素,修改xml某节点的值,输出文件路径及文件名,将xml转换为字符串,字符串转换为文档等功能。
% _ [abc1-9]格式字符串 * * @param format * 格式字符串 如:邮箱:%@%_ * @param value * 被判断的值 yiyongpeng@tom.com * @return 是否匹配 */ public boolean like(String format, String value){} ...
博主本是Android开发者,由于公司业务需要开发一个微信小程序,起初并没有太在意解析XML这个问题,因为小程序是用的JS,所以直接用DOMParser解析就好了嘛 ... 前言 博主本是Android开发者,由于公司业务...
"<?xml version=\"1.0\" encoding=\"GB2312\" standalone=\"yes\"?>"<IbpsBankCodeConf>" + " <ibps code='322'>" + " 测试银行' ECFlag='2' paySysBankCode='322290000011' eisBankCode='null' eisSiteCode='1' /...