jdom xml解析

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;
    }
时间: 2024-10-29 20:36:19

jdom xml解析的相关文章

xml解析工具-jdom

前言:近期接触SSH框架的时候,经常得配置一下xml文件:今天闲来没事就挖挖xml解析的原理供大伙儿分享.本文主要通过一个简单的例子解析一个xml文件.明白其中缘由之后,大家想定义自己的xml也绝非难事~ JDOM是一个开源项目,它基于树型结构,利用纯JAVA的技术对XML文档实现解析.生成.序列化以及多种操作.其解析步骤其实很简单,可以将一个xml文件类比一棵树.首先从根节点开始解析,之后遍历左右孩子结点,孩子结点再递归解析孩子结点...(注意,遍历的时候应该区别于深度优先遍历,准确的理解应该

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

XML值可扩展标记语言,是用来传输和存储数据的. XMl的特定: XMl文档必须包含根元素.该元素是所有其他元素的父元素.XML文档中的元素形成了一颗文档树,树中的每个元素都可存在子元素. 所有XML元素都必须有关闭标签. XML标签对大小写敏感,并且所有属性值date都需加引号. XML元素: XMl元素是只从包括开始标签到结束标签的部分,元素可包含其他元素.文本或两者都包含,也可拥有属性. XML解析 基础方法:DOM.SAX DOM解析:平台无关的官方解析方式 SAX解析:Java中基于事

java基础篇---XML解析(二)

XML解析之最流行的方式:DOM4J dom4j是使用java语言编写的,用于读,写,操作XML的一套组件 JDOM=DOM修改文件的优点+SAX读取快速的优点 dom4j是一个开源的java组件,可从http://sourceforge.net/projects/dom4j/files/下载.其解压后有一个dom4j-1.6.1.jar文件,这个就是需要引入的包,其dom4j的所有的接口都在org.dom4j包中定义,主要接口如下: XML写入文件:DOM4JWriter.java packa

xml规范及xml解析

http://www.cnblogs.com/wang-meng/p/5374498.html 1,XML基础介绍 xml的概念: XML 指可扩展标记语言(EXtensible Markup Language),也是一种标记语言,很类似 HTML.           它的设计宗旨是传输数据,而非显示数据它;标签没有被预定义,需要自行定义标签. xml的作用: XML 是各种应用程序之间进行数据传输的最常用的工具,并且在信息存储和描述领域变得越来越流行.简单的说,我们在开发中使用XML主要有以

XML 解析---dom解析和sax解析

目前XML解析的方法主要用两种: 1.dom解析:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式. 使用dom解析XML文档,该解析器会先把XML文档加载到内存中,生成该XML文档对应的document对象,然后把XML文档中的各个标签元素变成相应的Element对象,文本会变成Text对象,属性会变成Attribute对象,并按这些标签.文本.属性在XML文档中的关系保存这些对象的关系. 缺点:消耗内存,所以使用dom解析XML文档时不能解

【Web基础】XML解析工具比较

DOM解析: 一次全部读入内存,随意存放修改,读取任何部分,次数无限制,异于开发,系统为开发者自动建立DOM树,XML对象模型由系统自动提供.缺点:需要一次读入内存,受文件大小限制,耗内存. SAX解析: 优点:顺序读入一部分进内存,不会一次加载,不受文件限制,由于部分读取.缺点:只能对文件按顺序读取解析,不能随机存取,不能修改,开发复杂,用户需自己定义时间处理.但开发比较灵活,可以用SAX建立自己的XML对象模型. JDOM:综合DOM解析和SAX解析的优点. DOM4J:强大,Hiberna

XML与HTML区别,XML解析

1.XML与HTML的区别 XML 不是对 HTML 的替代 ,XML 是对 HTML 的补充. XML 不会替代 HTML,理解这一点很重要.在大多数 web 应用程序中,XML 用于传输数据,而 HTML 用于格式化并显示数据. 对 XML 最好的描述是:XML 是独立于软件和硬件的信息传输工具. 比较内容 HTML XML   可扩展性 不具有扩展性 是元标记语言,可自定义新的标记 作用 焦点是数据的外观,旨在显示信息 被设计来传输和存储数据,焦点是数据的内容 语法要求 不要求标记的嵌套.

xml解析技术

本文总结Dom,sax解析,  使用Java作为工具解析xml文档. 1 Dom 综述:Dom解析xml通常也称为xmlDom (和htmlDom技术差不多),将xml文档封装成树,好处就是xml中的标签(属性)和Dom树 中的节点一 一对应.节点都是对象,这样就可以使用对象的属性或者方法就操作xml. 缺点:每一种技术都会有缺点,Dom解析的不足之处在于不是处理数据量大的xml文件,原因:Dom技术是直接将xml解析成树,装入到内存中, 这样消耗的资源会比较多. 以下面Myclass.xml为

XML解析器

一.操作XML文档概述 1.如何操作XML文档 XML文档也是数据的一种,对数据的操作也不外乎是"增删改查".也被大家称之为"CRUD" C:Create: R:Retrieve: U:Update: D:Delete 2.XML解析技术 XML解析方式分为两种:DOM(Document Object Model)和SAX(Simple API for XML).这两种方式不是针对Java语言来解析XML的技术,而是跨语言的解析方式.例如DOM还在Javascrip