`
wang371134086
  • 浏览: 128634 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

dom4j构建 解析XML数据

    博客分类:
  • XML
XML 
阅读更多

 

---------------------------------构建XML-------------------------------

PrintWriter out = resp.getWriter();

Element response = new Element("response");

Document doc = new Document(response);

Element resultCode = new Element("resultCode");

resultCode.addContent("0");

Element desc = new Element("desc");

desc.addContent("结果正确返回啦 !!!!! ");

Element num = new Element("num");

num.addContent("58");

Element commentinfolist=new Element("commentinfolist");

 

       for(int i = 0;i<=2;i++){

Element commentinfo = new Element("commentinfo");

Element commentid = new Element("commentid");

Element objectid = new Element("objectid");

Element objecttype = new Element("objecttype");

Element commentcontentcopy = new Element("commentcontentcopy");

Element createddate = new Element("createddate");

Element status = new Element("status");

Element thumbsup = new Element("thumbsup");

Element thumbsdown = new Element("thumbsdown");

Element ipaddress = new Element("ipaddress");

Element objectName = new Element("objectName");

commentid.addContent(i+"");

objectid.addContent(i+i+"");

objecttype.addContent(i+"");

commentcontentcopy.addContent(i+"commentcontentcopy");

createddate.addContent(i+"");

status.addContent("2");

thumbsup.addContent( "20");

thumbsdown.addContent( "20");

ipaddress.addContent( "192.168.0.20");

objectName.addContent("wang");

commentinfo.addContent(commentid) ;

commentinfo.addContent(objectid) ;

commentinfo.addContent(objecttype) ;

commentinfo.addContent(commentcontentcopy) ;

commentinfo.addContent(createddate) ;

commentinfo.addContent(status) ;

commentinfo.addContent(thumbsup) ;

commentinfo.addContent(thumbsdown) ;

commentinfo.addContent(ipaddress) ;

commentinfo.addContent(objectName) ;

commentinfolist.addContent(commentinfo);

}

response.addContent(resultCode);

response.addContent(desc);

response.addContent(num);

response.addContent(commentinfolist);

XMLOutputter xmlOutput = new XMLOutputter();

xmlOutput.output(doc, out);

out.close();

 

 

-----------------------------------解析XML-----------------------------------------------------

 

//dom4j解析返回的XML字符串

Document doc = DocumentHelper.parseText(returnValue); 

Element rootElt = doc.getRootElement(); // 获取根节点

// 得到开发者类型

int developerType = Integer.valueOf(rootElt.elementText("developerType"));

Iterator<?> iter = rootElt.elementIterator("developerInfo"); 

SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd"); 

if(developerType==1){ //说明是个人开发者

while (iter.hasNext()) { // 遍历developerInfo节点

Element recordEle = (Element) iter.next();

//取出对应PersonDev类的属性

String developerId = recordEle.elementTextTrim("developerId"); 

String developerName = recordEle.elementTextTrim("developerName");

String nickName = recordEle.elementTextTrim("nickName"); 

String mobile = recordEle.elementTextTrim("mobile"); 

String email = recordEle.elementTextTrim("email"); 

String idType = recordEle.elementTextTrim("idType"); 

String idNumber = recordEle.elementTextTrim("idNumber"); 

String idCopy = recordEle.elementTextTrim("idCopy"); 

String address = recordEle.elementTextTrim("address"); 

String zipCode = recordEle.elementTextTrim("zipCode"); 

String accountName = recordEle.elementTextTrim("accountName"); 

String bankName = recordEle.elementTextTrim("bankName"); 

String bankAreaName = recordEle.elementTextTrim("bankAreaName");

String bankCityName = recordEle.elementTextTrim("bankCityName"); 

String bankAccount = recordEle.elementTextTrim("bankAccount"); 

String accountCopy = recordEle.elementTextTrim("accountCopy"); 

personDev = new PersonDev(Integer.valueOf(developerId),  developerType,            developerName,

nickName,  mobile,  email,Integer.valueOf(idType),

idNumber,  idCopy,  address,  zipCode,

accountName,  bankName,  bankAreaName,

bankCityName,  bankAccount,  accountCopy) ;

//取出对应Audition(审核情况)下的属性

String auditionResult = recordEle.elementTextTrim("auditionResult"); // 拿到developerInfo节点下的子节点对应值

String reasons = recordEle.elementTextTrim("reasons"); // 拿到developerInfo节点下的子节点对应值

long auditionDate =new Long(recordEle.elementTextTrim("auditionDate")) ; // 拿到developerInfo节点下的子节点对应值

Date d = sim.parse(sim.format(auditionDate));

audition = new Audition( Integer.valueOf(auditionResult),  reasons, d);

 

分享到:
评论

相关推荐

    dom4j解析xml详解

    ### DOM4J解析XML详解 #### 一、DOM4J简介与特性 DOM4J是一个由dom4j.org开发的开源XML解析包,专为Java平台设计,它不仅支持DOM、SAX和JAXP标准,还巧妙地融入了Java集合框架,使其成为Java开发者在处理XML数据时...

    使用dom4j进行解析XML

    本文将详细介绍如何使用dom4j解析XML,并创建XML文档结构。 首先,我们需要引入dom4j库。如果你使用的是Maven项目,可以在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;dom4j &lt;artifactId&gt;dom4j &lt;version&gt;...

    Dom4j遍历解析XML

    ### Dom4j遍历解析XML知识点详解 #### 一、Dom4j简介及环境搭建 Dom4j(Document Object Model for Java)是一个Java语言的开源XML API,它提供了非常便捷的方式来解析、创建以及操作XML文档。相较于其他XML解析库...

    dom4j解析xml文件的压缩包

    5. **事件驱动解析(SAX)**:除了传统的DOM解析外,DOM4J还支持SAX解析器,这种解析方式适用于处理大型XML文件,因为它不需要一次性加载整个文档到内存。 6. **Namespace支持**:DOM4J提供了对XML命名空间的全面...

    dom4j解析XML所需jar包

    DOM4J是一个强大的Java库,专门用于处理XML文档。它提供了灵活且高效的API,...通过`dom4j-1.6.1.jar`和`jaxen-1.1.1.jar`这两个jar包,开发者可以获得完整的DOM4J功能,实现XML的解析、构建、查询和转换等一系列操作。

    使用dom4j和jaxen解析xml

    - **dom4j+jaxen操作XML**:首先使用dom4j解析XML,然后通过jaxen创建XPath对象并执行查询。查询结果可以是元素、属性或其他XML节点,根据需要进行进一步处理。 例如,以下代码展示了如何使用dom4j和jaxen解析XML...

    DOM4J 解析XML

    DOM4J不仅是一个解析XML的工具,还可以用作XML数据绑定库,将XML数据映射到Java对象。此外,DOM4J还支持Java 5的注解,这使得XML文档的处理更加直观和简洁。结合其灵活性和高性能,DOM4J成为Java开发人员处理XML文档...

    DOM4J xml解析工具

    1. **解析XML文档**:DOM4J可以使用SAX或DOM方式解析XML文件。SAX是事件驱动的解析器,适用于大文件,而DOM解析会将整个文档加载到内存,适合小文件。DOM4J的灵活性在于,可以根据需求选择合适的解析策略。 2. **...

    xmldom4j解析

    在“jar包执行20190331.rar”文件中,可能包含了一个Java项目,该项目使用DOM4J库解析XML文件并执行相关业务逻辑。执行此类项目通常涉及以下步骤: 1. 将jar包解压,找到主类(包含main方法)。 2. 使用Java命令行...

    dom4j解析xml,利用反射机制

    DOM4J作为解析XML的库,遵循DOM(Document Object Model)模型,通过构建一棵节点树来表示XML文档的结构。 在`ParseMQ.java`文件中,通常会包含以下步骤: 1. 引入DOM4J库:导入必要的DOM4J库,如`org.dom4j....

    DOM4J jar包 xml解析 所有的dom4j-1.6.1 dom4j-2.0.2 dom4j-2.1.1包 导入直接使用

    1. **解析XML**:DOM4J可以读取XML文件,将其转换为一个树形结构,即Document对象。解析器有SAX和DOM两种模式,SAX是事件驱动的,适用于大文件,而DOM则将整个文档加载到内存中,适合小文件。 2. **创建XML**:DOM4...

    dom4j---xml解析jar包

    在Java环境中,解析XML文档时,我们通常会遇到各种库,其中DOM4J是一个非常流行的、功能强大的开放源代码库。这个库不仅简化了XML处理,还提供了XPath和XSLT的支持,使其成为Java开发者处理XML的首选工具之一。 **...

    dom4j解析xml文件代码示例

    在本示例中,我们将深入探讨如何使用DOM4J解析XML文件,以`CacheInit.java`作为我们的核心代码示例,并参考`emailTemplateConfig.xml`作为实际操作的对象。 首先,让我们了解XML(eXtensible Markup Language)。...

    dom4j解析XML所需要的jar包

    为了在Java项目中使用DOM4J解析XML,你需要将这两个jar文件(dom4j-1.6.1和jaxen-1.1-beta-7.jar)添加到你的类路径(classpath)中。这可以通过在IDE中配置构建路径,或者在命令行中指定 `-cp` 参数来完成。一旦...

    dom4j下sax解析xml

    在提供的“analysis_xml”项目中,很可能包含了一个示例,演示了如何使用dom4j的SAX解析器解析XML文件。这样的测试项目有助于理解SAX解析的工作原理,并在实际开发中应用。 总结起来,dom4j库提供了DOM和SAX两种XML...

    java dom4j 解析xml的例子,可用

    解析XML时,DOM4J首先读取XML文件并构建一个节点结构,然后你可以通过API遍历和修改这个结构。例如,你可以通过Element、Attribute、Text等类来访问和修改元素、属性和文本内容。 2. **基本用法**:在Java程序中,...

    dom4j解析XML文档.ppt

    DOM4J是一个强大的Java库,专门用于解析XML文档。它提供了简单易用的API,使得开发者可以更加方便地处理XML数据。DOM4J的核心优势在于它的面向接口编程设计,这使得它能够在不同的解析机制间灵活切换,如DOM、SAX和...

    dom4j-jar与dom4j解析xml文档介绍

    6. **文档构建**:除了解析XML,dom4j也支持从头构建XML文档。通过`DocumentFactory`,我们可以创建新的`Document`对象,并添加元素、属性等。 7. **性能优化**:dom4j的设计考虑了性能,如使用缓冲技术减少I/O操作...

    dom4j解析xml,连接oracle数据库

    在本实例中,我们将深入探讨如何使用DOM4J解析XML,并利用这些数据连接Oracle数据库进行数据操作。 首先,让我们了解DOM4J的基本用法。DOM4J的主要类包括`Document`、`Element`、`Attribute`和`Namespace`。`...

    DOM4J解析XML

    1. **DOM解析方式**:DOM4J通过DOM接口来解析XML,将整个XML文档加载到内存中形成一个树形结构,称为DOM树。这样做的优点是可以方便地通过路径导航访问任何元素,缺点是如果XML文件过大,可能会消耗大量内存。 2. *...

Global site tag (gtag.js) - Google Analytics