`
newton21012915
  • 浏览: 60411 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

xml转对象

阅读更多
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;

import com.wutka.jox.JOXBeanInputStream;
import com.wutka.jox.JOXBeanOutputStream;

public class BeanXMLMapping {

    /** *//**
     *  Retrieves a bean object for the
     *  received XML and matching bean class
     */
    public static Object fromXML(String xml, Class className) {
      ByteArrayInputStream xmlData = new ByteArrayInputStream(xml.getBytes());
      JOXBeanInputStream joxIn = new JOXBeanInputStream(xmlData);
      try {
        return (Object) joxIn.readObject(className);
      } catch (IOException exc) {
        exc.printStackTrace();
        return null;
      } finally {
        try {
          xmlData.close();
          joxIn.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }

    /** *//**
     *  Returns an XML document.nbspString for the received bean
     */
    public static String toXML(Object bean) {
      ByteArrayOutputStream xmlData = new ByteArrayOutputStream();
      JOXBeanOutputStream joxOut = new JOXBeanOutputStream(xmlData);
      try {
        joxOut.writeObject(beanName(bean), bean);
        return xmlData.toString();
      } catch (IOException exc) {
        exc.printStackTrace();
        return null;
      } finally {
        try {
          xmlData.close();
          joxOut.close();
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    }

    /** *//**
     *  Find out the bean class name
     */
    private static String beanName(Object bean) {
      String fullClassName = bean.getClass().getName();
      String classNameTemp = fullClassName.substring(
          fullClassName.lastIndexOf(".") + 1,
          fullClassName.length()
          );
      return classNameTemp.substring(0, 1)
           + classNameTemp.substring(1);
    }
    public static void main(String[] args) {
        String content = "<WebAppPolicy lcid=\"1033\"><WebAppPolicyZones><WebAppPolicyZone zonename=\"(All zones)\"/>"
                       + "<WebAppPolicyZone zonename=\"Default\"/></WebAppPolicyZones></WebAppPolicy>";
//        System.out.println(content);
        Object obj = fromXML(content, WebAppPolicy.class);
        WebAppPolicy web = (WebAppPolicy) obj;
        System.out.println(web.getLcid());
        System.out.println(((WebAppPolicy)obj).getLcid());
        System.out.println(((WebAppPolicy)obj).getWebAppPolicyZones().getWebAppPolicyZone()[0].getZonename());
        System.out.println(((WebAppPolicy)obj).getWebAppPolicyZones().getWebAppPolicyZone()[1].getZonename());
    }
  }
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    xml转对象封装的简单与复杂xml的转化写法

    标题提到的"xml转对象封装的简单与复杂xml的转化写法"主要涉及以下知识点: 1. **JDOM库**:JDOM是Java Document Object Model的缩写,它提供了一种在内存中表示XML文档的方式,通过创建SAXBuilder或DOMBuilder实例...

    C# XmlToList xml转换成对象,Xml转对象

    在.NET编程环境中,C#是一种常用的面向对象的语言,它提供了丰富的库来处理XML数据。XML(eXtensible Markup Language)是一种结构化数据格式,常用于数据交换、配置存储等场景。本文将深入探讨如何使用C#将XML文件...

    安卓网站交互JSONxmlWebserviceUPnP相关-xStream可以轻易的将Java对象和xml文档相互转换本实例详细介绍了运用xStream将对象转xml和xml转对象操作.zip

    xStream可以轻易的将Java对象和xml文档相互转换,本实例详细介绍了运用xStream将对象转xml和xml转对象操作.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    xml转换对象

    XML绑定技术允许开发者通过简单的API将XML文档映射到Java对象,以及将Java对象转换为XML文档。Java提供了一些内置的库来实现这一功能,如JAXB(Java Architecture for XML Binding)和DOM(Document Object Model)...

    webservice之使用jaxb把xml转换Object或把对象转换成xml文件

    在Java世界中,使用JAXB(Java Architecture for XML Binding)库可以方便地实现XML数据与Java对象之间的转换,从而在WebService中轻松处理数据交换。本篇文章将深入探讨如何使用JAXB进行XML到Object以及Object到XML...

    C# xmlToList xml转换成对象

    在.NET编程环境中,C#是一种常用的面向对象的语言,它提供了丰富的库来处理各种数据格式,包括XML。XML(Extensible Markup Language)是一种用于存储和传输结构化数据的标准格式,广泛应用于配置文件、数据交换和...

    JAXB工具类 xml转为java对象 java对象转为xml

    Java Architecture for XML Binding (JAXB) 是Java平台中用于处理XML和Java对象之间转换的一个标准API。它使得在Java应用程序中使用XML数据变得更加方便,无需手动编写大量的转换代码。本教程将详细介绍JAXB如何实现...

    XML转换为JAVA对象的方法

    XStream是一个强大的Java库,它可以将Java对象序列化为XML,同时也能将XML反序列化为等效的Java对象。这种功能使得开发者能够在XML和Java之间无缝地进行数据转换。在IDEA(IntelliJ IDEA)这样的集成开发环境中,...

    xml和JAVA对象转换 simple-xml2object

    simple-xml2object是一个简单实用的xml和JAVA对象转换的类库,jar包很小,而且不需要任何依赖包。 下载后,压缩包包含一个jar包,导入即可。包含一个测试类,有详细的注释展示用法。还包含一个中文文档。

    xml文件自动转成java对象工具

    总之,XML文件自动转成Java对象工具是Java开发中不可或缺的一部分,它极大地简化了XML数据处理,提高了开发效率。通过理解和利用这类工具,开发者可以更专注于业务逻辑,而非基础的数据转换工作。

    xml转换数组、对象转数组

    php将对象转成数组,php将xml转成数组 一个自定义函数搞定纯原创。

    java XML转成LIST可以转成指定的类数组

    当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇文章将深入探讨如何将XML转换为指定类型的List数组,并涉及多层数据结构的处理。 1. **Java XML解析库** 在Java中,有多种...

    JAXB技术实现xml与java对象互相转化代码教程

    使用java jdk的JAXB技术实现xml与java对象互相转化代码教程: JDK中JAXB相关的重要Class和Interface:(来源于百度百科JAXB) •JAXBContext类,是应用的入口,用于管理XML/Java绑定信息。 •Marshaller接口,将Java...

    XStream解析xml 转换成对象案例

    而XStream是一个Java库,它能够将Java对象序列化为XML,反之也能将XML反序列化回Java对象,极大地简化了Java与XML之间的交互。本篇文章将深入探讨如何使用XStream进行XML到对象的转换,并提供一个实际的案例。 首先...

    Apache xml转换java对象 Digester

    ### Apache XML转换Java对象——Digester #### 一、引言 在软件开发过程中,XML是一种常见的数据交换格式。为了方便地将XML数据转换为Java对象,Apache Commons库提供了一个强大的工具——`Digester`。本文将详细...

    xml和java对象互转

    3. **对象转XML**:要将Java对象转换为XML,调用`toXML()`方法,传入你要转换的对象。 ```java Student student = new Student("John Doe", 25); String xml = xstream.toXML(student); ``` 4. **XML转对象**...

    as3反射和将XML转换成对象的类

    这个过程通常涉及到递归遍历XML节点,为每个节点创建对应的属性或子对象,对于XML属性则映射到对象的属性值。 `PropertyInfo.as` 可能定义了一个表示类属性信息的类。这类信息可能包括属性名称、类型、可读性(是否...

    [转载] JAXB中Java对象和XML之间的转换

    JAXB,全称为Java Architecture for XML Binding,是Java平台中用于在XML和Java对象之间进行映射的标准技术。它提供了一种自动的方式,使得开发者能够方便地在XML文档和Java对象之间进行数据交换,极大地简化了XML...

    使用dom4j将xml字符串转换成Bean对象

    当我们需要将XML字符串解析并映射到Java Bean对象时,dom4j是一个常用的库。本篇文章将详细探讨如何使用dom4j库实现这个过程。 首先,dom4j是一个强大的Java XML API,它提供了丰富的功能,如读取、写入、修改和...

Global site tag (gtag.js) - Google Analytics