import org.jdom.Document;
import org.jdom.Element;
import org.jdom.input.SAXBuilder;
import org.xml.sax.InputSource; /**
* 解析报文的方法
* @param String messXmlStr 要解析的报文String
* @author Mar
* */
public Map<String,String> analyzeMessXml(String messXmlStr) throws Exception{
Map<String,String> xmlMap=new HashMap<String, String>();
StringReader read = new StringReader(messXmlStr);
InputSource source = new InputSource(read);//使用字符流创建新的输入源
SAXBuilder sb = new SAXBuilder();
Document doc = sb.build(source);
//Document doc = builder.build(new File("file/disk.xml"));
Element root = doc.getRootElement();
List<Element> eleList=root.getChildren();
for (Element element : eleList) {
String name=element.getName();
if(name.equals("IF_EXIST")){
xmlMap.put("ifExist", root.getChildText("IF_EXIST"));// 是否存在 【0 不存在 1 存在】
if(root.getChild("QRY_ADDRESS")!=null){//[调阅]
xmlMap.put("url", root.getChildText("QRY_ADDRESS"));//电子保单调阅路径
}
if(root.getChild("LOAD_FLG")!=null){//[下载]
xmlMap.put("loadFlg", root.getChildText("LOAD_FLG"));//是否允许下载【 0 不允许 1 允许下载】
}
if(root.getChild("FLG")!=null){//[作废]
xmlMap.put("flg", root.getChildText("FLG"));//是否修改成功
}
break;
}else if (name.equals("signature")) {// 验真接口报文
xmlMap.put("curRevision", element.getChildText("cur_revision"));//当前验签版本
xmlMap.put("totalRevision", element.getChildText("total_revision"));//共有版本数
xmlMap.put("subject", element.getChildText("subject"));//签名信息【{ST=[北京], C=[CN], L=[西城区], OU=[信息技术部], O=[中华联合], CN=[XX财产保险股份有限公司]}】
xmlMap.put("modified", element.getChildText("modified"));//签名版本的文档是否被修改,true表示被修改,false表示未被修改
xmlMap.put("verified", element.getChildText("verified"));//签名是否有效,true表示签名有效,false表示签名无效
break;
}
} return xmlMap;
}

jdom xml解析的更多相关文章

  1. xml解析工具-jdom

    前言:近期接触SSH框架的时候,经常得配置一下xml文件:今天闲来没事就挖挖xml解析的原理供大伙儿分享.本文主要通过一个简单的例子解析一个xml文件.明白其中缘由之后,大家想定义自己的xml也绝非难 ...

  2. 使用jdom进行xml解析,网络抓包

    最近再做一个项目,使用到了jdom进行xml解析,为了方便记忆,现在保存在这里 package bboss; import java.io.FileInputStream; import java.i ...

  3. java xml解析方式(DOM、SAX、JDOM、DOM4J)

    XML值可扩展标记语言,是用来传输和存储数据的. XMl的特定: XMl文档必须包含根元素.该元素是所有其他元素的父元素.XML文档中的元素形成了一颗文档树,树中的每个元素都可存在子元素. 所有XML ...

  4. xml解析技术

    本文总结Dom,sax解析,  使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的 ...

  5. Android 简易XML解析

    首先创建在Android工程中创建一个Assets文件夹 app/src/main/assets 在这里添加一个名为 data.xml的文件,然后编辑这个文件,加入如下XML格式内容 <?xml ...

  6. JAVA基础学习之XMLCDATA区、XML处理指令、XML约束概述、JavaBean、XML解析(8)

    1.CDATA区在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理.遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直 ...

  7. xml规范及xml解析

    http://www.cnblogs.com/wang-meng/p/5374498.html 1,XML基础介绍 xml的概念: XML 指可扩展标记语言(EXtensible Markup Lan ...

  8. XML解析技术研究(一)

      摘要:XML作为过去十年中出现的最流行的技术之一,得到了广泛的应用,而其中XML解析技术是XML应用的关键.本文介绍了XML解析技术的研究动向,分析和比较了4种XML解析技术的优劣,并归纳总结了应 ...

  9. XML解析方式与解析工具

    DOM解析原理: 1)JAXP (oracle-Sun公司官方) 2)JDOM工具(非官方) 3)Dom4J工具(非官方) 三大框架(默认读取xml的工具就是Dom4j) ....... SAX解析原 ...

随机推荐

  1. Array与ArrayBuffer

    一.概述 二:Array使用 1.建立方式三种(数组里可以有不同的数据类型) 2.Array的简单使用 三:ArrayBuffer的简单使用 1.ArrayBuffer建立 导包 2.添加元素(+=) ...

  2. Kingdom of Obsession---hdu5943(二分匹配)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5943 题意:给你两个数n, s 然后让你判断是否存在(s+1, s+2, s+3, ... , s+n ...

  3. awk 合并文件

      问题描述:两个文件a.dat, b.dat a.dat 0    100 1    99 2    93 3    90 ... b.dat 0   0 1   3 2   0 3   2 ... ...

  4. tcp_tw_recycle 的问题, 使用某一个wifi,APP老是连接不上网络

    ss -tan 反映出来的情况就是在服务器上抓包,发现有SYN包,但服务器就是不回ACK包,因为SYN包已经被丢弃了.为了验证这一结果,可以执行netstat -s | grep timestamp ...

  5. Array基本操作

    // defined array object val arr0= ) val arr1= Array(") println(arr1()) arr1()="Hello Spark ...

  6. JQuery拖拽排序

    1,引用JqueryUI $(function(){ $(".m_title").bind('mouseover',function(){ $(this).css("cu ...

  7. Postgres Plus Advanced Server installation

    # setenforce Permissive # ./ppasmeta-9.3.1.3-linux-x64.run --mode text Installation Directory [/opt/ ...

  8. WinForm中跨线程操作控件

    在WinForm编程时会遇到通过后台线程操作界面的情况,直接在后台线程执行的方法中直接操作控件会报错,这时候就要使用跨线程方式间接操作控件.下面是两种实现方式.   1.采用定义delegate的方式 ...

  9. [Effective JavaScript 笔记]第66条:使用计数器来执行并行操作

    第63条建议使用工具函数downloadAllAsync接收一个URL数组并下载所有文件,结果返回一个存储了文件内容的数组,每个URL对应一个字符串.downloadAllAsync并不只有清理嵌套回 ...

  10. 30分钟LINQ教程

    在说LINQ之前必须先说说几个重要的C#语言特性 一:与LINQ有关的语言特性 1.隐式类型 (1)源起 在隐式类型出现之前, 我们在声明一个变量的时候, 总是要为一个变量指定他的类型 甚至在fore ...