`
jxpengtao
  • 浏览: 65852 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

java中解析xml

    博客分类:
  • java
阅读更多
public class Test {
    public static void main(String[] arc) throws RuntimeException {

        try {
            SAXReader reader = new SAXReader();
            //以下是要输入的xml
            org.dom4j.Document doc = reader.read("C:\\11.xml");
            String aa = doc.asXML();
            EntrustUpLoadCommand pd = new EntrustUpLoadCommand();
            pd.setXML(aa);
            pd = (EntrustUpLoadCommand) pd.execute();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

--------------------------

    //用于把xml文件中属性值转为map 其中 name为map的key,value为map中的value
public static Map getProperties(String xml) throws CommandException {
        Map prop = new HashMap();
        try {
            SAXBuilder builder = new SAXBuilder();
            Document doc = builder.build(new StringReader(xml));
            Element root = doc.getRootElement();
            Element pro = root.getChild("properties");
            if (null != pro) {
                List proList = pro.getChildren("cell");


                for (int i = 0; i < proList.size(); i++) {
                    Element cell = (Element) proList.get(i);
                    prop.put(cell.getAttributeValue("name").toLowerCase(), cell.getAttributeValue("value"));
                }
            }

            getvoList(root, prop);
        } catch (JDOMException e) {
            throw new CommandException("XML报文有问题");
        }

        return prop;
    }

    //用于把Element文件中属性值转为map[] 其中 name为map的key,value为map中的value
    //此方法主要是单list转map
private static void getvoList(Element root, Map in) throws CommandException {

        try {
            List pro = root.getChildren("arrayList");
            log.debug("pro.size() = " + (null == pro ? "0" : "" + pro.size()));
            if (null != pro) {
                for (int k = 0; k < pro.size(); k++) {
                    List prop = new ArrayList();
                    Element prof = (Element) pro.get(k);
                    in.put(prof.getAttributeValue("name"), prop);
                    List pror = prof.getChildren("vo");
                    for (int j = 0; j < pror.size(); j++) {
                        Element proc = (Element) pror.get(j);
                        List proList = proc.getChildren("cell");
                        Map propc = new HashMap();
                        if (null != proList) {
                            for (int i = 0; i < proList.size(); i++) {
                                Element cell = (Element) proList.get(i);
                                propc.put(cell.getAttributeValue("name").toLowerCase(), cell.getAttributeValue("value"));
                            }
                            prop.add(propc);
                        }
                        getvoList2(proc,in);//-----------
                    }

                }
            }
        } catch (Exception e) {
            throw new CommandException("XML报文解析vo有问题");
        }

    }
分享到:
评论

相关推荐

    Java解析xml所需jar包

    在这个场景中,提到的两个关键库是`dom4j`和`jdom`,它们都是Java解析XML的重要工具。 **dom4j** dom4j是一个非常灵活且功能丰富的Java XML API,它提供了对DOM(文档对象模型),SAX(简单API for XML)和JDOM的...

    Java中解析Xml所系jar包集合

    为了在Java中解析XML文档,开发者通常需要依赖特定的库或jar包。以下是对标题和描述中提到的Java XML解析jar包的详细解释: 1. **dom4j-1.6.1.jar**: DOM4J是一个非常灵活的Java XML API,它提供了对DOM、SAX和...

    java 解析xml 多级

    本文将详细讲解如何在Java中解析XML,特别是针对多级结构的情况。 首先,Java提供了两种主要的API来处理XML:DOM(文档对象模型)和SAX(简单API for XML)。DOM解析器会将整个XML文件加载到内存中,形成一个树形...

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xml

    java在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava在线解析xmljava...

    java中解析XML文件的工具类

    java中解析XML文件的工具类

    java xml解析工具类 java xml解析工具类

    java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析工具类 java xml解析工具类java xml解析...

    Java解析XML四种方式

    总结,Java解析XML的方式多样,每种都有其适用场景。理解这些方法的原理和优缺点,能够帮助开发者根据项目需求选择最佳实践。在实际工作中,可以结合使用这些解析技术,以实现更高效、更安全的XML处理。

    java解析xml例子

    本篇文章将深入探讨如何在Java中解析XML,以帮助你理解和实践相关知识。 一、DOM解析器 DOM(Document Object Model)解析器是Java中的一种常用方法,它将整个XML文档加载到内存中,形成一个树形结构。以下是一个...

    JAVA 解析XML生成XML文档实例

    JAVA 解析XML和生成XML文档源码。比较全 1.DOM生成和解析XML文档 2.SAX生成和解析XML文档 3.DOM4J生成和解析XML文档 4.JDOM生成和解析XML

    一个Java 解析XML的例子

    总结起来,Java解析XML时,DOM4J是一个强大而灵活的工具。它简化了XML文档的处理,允许开发者高效地读取、创建和修改XML内容。通过理解和应用DOM4J,你可以更好地利用XML在各种场景下的数据交换功能,如配置文件、...

    JAVA JAXB 解析XML嵌套子节点为字符串

    使用JAXB解析XML时,我们首先需要创建一个Java类模型,这个模型反映了XML文档的结构。每个XML元素对应一个Java类,类的属性对应元素的属性或子元素。例如,如果XML中有以下结构: ```xml &lt;text&gt;Some text here ...

    java 解析XML修改路径值

    本篇文章将详细讲解如何使用Java解析XML文件,并修改其中的特定路径值。 首先,我们需要了解Java中解析XML的两个主要库:DOM(Document Object Model)和SAX(Simple API for XML)。DOM一次性加载整个XML文档到...

    java jdom解析xml

    Java JDOM解析XML是Java开发中处理XML文档的一种方法,JDOM全称为Java Document Object Model,它是一个基于Java语言的API,用于创建、修改和读取XML文档。JDOM为XML处理提供了一种高效且方便的解决方案,尤其适用于...

    java解析xml字符串

    ### Java解析XML字符串 在给定的代码示例中,我们看到了如何使用JDOM库来解析一个XML字符串,并对其进行操作。下面我们将详细解析这个过程: 1. **初始化XML源**:首先,将XML字符串转化为`StringReader`对象,这...

    JAVA调用webservice并解析xml

    在IT行业中,调用Web服务并解析XML是常见的任务,特别是在Java开发中。Web服务,尤其是基于SOAP(Simple Object Access Protocol)的,提供了一种标准的跨平台、跨语言的数据交换方式。本教程将深入讲解如何在Java...

    解析xml文件需要的jar包

    描述中提到“java解析xml时需要导入源文件都包含在这里”,这暗示了压缩包可能包含了解析XML所需的Java库的JAR文件。通常,解析XML可能需要如`jaxp-1.3.jar`(Java API for XML Processing)、`xml-apis.jar`(XML ...

    java 解析xml获取节点内容

    本教程将详细讲解如何在Java中解析XML文件,获取节点内容,且无需引入额外的jar包,如DOM、SAX或StAX解析器。 首先,Java标准库提供了`java.io`和`javax.xml.parsers`包,它们包含了基本的XML处理能力。这里我们将...

    android和java解析XML中内容代码

    总结,Android和Java解析XML文件时,可以根据需求选择DOM、SAX或PullParser解析方法。DOM适合小文件,SAX适合大文件,PullParser则在Android环境下更适用。理解这些解析方式的工作原理并能灵活运用,将有助于提升你...

Global site tag (gtag.js) - Google Analytics