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. http://highscalability.com/blog/2015/5/18/how-mysql-is-able-to-scale-to-200-million-qps-mysql-cluster.html

    http://highscalability.com/blog/2015/5/18/how-mysql-is-able-to-scale-to-200-million-qps-mysql-cluste ...

  2. Android 更新sdk

    http://blog.csdn.net/xiao_ping_ping/article/details/45621663 不FQ意味着不能直接到android官网下载android SDK,但是国内有 ...

  3. [daily][device] linux添加打印机

    只用过HP的打印机,用过两个,分别是:HP_p2055dn, 和 HP_LaserJet_Professional_M1216nfh  别的不知道.以下内容仅试用于HP打印机. 第一:装HP,打印机工 ...

  4. Spring的RMI远程调用 - (示例)

    一.定义远程服务器上接口 public interface RMIService { public String getInfo(); } 二.实现远程服务器上接口 public class RMIS ...

  5. ubuntu14.04安装注意事项

    1.虚拟机: 选择桥接2.设置静态IP sudo vi /etc/network/interfaces 修改为: # The loopback network interface auto lo if ...

  6. Vcenter server 5.5安装部署

    1.安装VMware ESXi Server 虚拟主机安装方法请看本人博客 "实践记忆": http://www.cnblogs.com/zoulongbin/p/5896836. ...

  7. ios - 文件保存路径的获取

    "应用程序包": 这里面存放的是应用程序的源文件,包括资源文件和可执行文件. 获取方式: NSString *path = [[NSBundle mainBundle] bundl ...

  8. c++11 auto unique_ptr 等

    c++11 条款21:尽量使用std::make_unique和std::make_shared而不直接使用new c++11 条款18: 使用std::unique_ptr来进行独享所有权的资源管理 ...

  9. 用Unity开发HTC VIVE——移动漫游篇

    这篇文章主要写的是通过手柄控制移动在场景中漫游.在通过手柄控制移动时,我主要写了两个脚本一个ChildTransform.cs.Move.cs;1. ChildTransform这个脚本主要是为了获取 ...

  10. 记录一下我使用的vim的配置文件

    还不是很完美: "au BufReadPost * if line("'\"") > 0|if line("'\"") &l ...