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. VMware workstation CentOs 7 虚拟机网卡设置为NAT模式并设置固定IP

    一.背景知识      虚拟机网络模式 无论是vmware workstation,virtual box,virtual pc等虚拟机软件,一般来说,虚拟机有三种网络模式: 1.桥接 2.NAT 3 ...

  2. papi酱视频因违规遭下线整改,你知道原因吗?

    今日4月18日,在微信上的一篇<papi酱遭广电总局封杀 罗振宇1200万恐打水漂>的文章迅速转了起来,说的就是现在网红第一人“papi酱”的视频被广电总局责令下架的消息.箭头直指papi ...

  3. scala在linux以及在windows的安装,以及在IDEA中新建Scala项目

    一:linux下配资scala 1.上传 2.解压 3.配置环境 4.source一下 5.启动和简单使用 6.输出语句 二:scalac的使用 1.新建文件测试目录 2.新建程序 3.文件编译器书写 ...

  4. Oracle中PL/SQL简介、基本语法以及数据类型

    Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...

  5. ios之json,xml解析

    JSON解析步骤: 1.获取json文件路径 NSString*path = [[NSBundle mainBundle] pathForResource:@"Teacher"of ...

  6. windows的Timer和写文件方式串口注意!

    1.Timer要读取并分发消息,才能触发自定义回调函数 SetTimer(NULL, 1, 40, (TIMERPROC)TimerProc); while(GetMessage(&msg, ...

  7. 【转】给npm设置代理

    可以运行如下两句命令设置代理,注意代理的地址改为自己实际可用的代理. npm config set proxy=http://127.0.0.1:8087 npm config set registr ...

  8. Android (二维码)关于java.lang.UnsatisfiedLinkError的小案例

    在许多项目中我们都会用到第三方动态库.so文件,但是往往会引来很多烦恼,比如:Java.lang.UnsatisfiedLinkError - ::-/com.ishow.scan E/Android ...

  9. awk实现按照某个字段排序

    awk 'BEGIN{ FS="|"} { ary[$14,NR]=$0} END{ nrw=asorti(ary, newary) for(i=1;i<=nrw;i++) ...

  10. vim - multiple windows

    https://www.cs.oberlin.edu/~kuperman/help/vim/windows.html