`

java(写XML文件):将list中的数据转换成XML数据返回到客户端

    博客分类:
  • java
 
阅读更多

java(写XML文件):将list中的数据转换成XML数据返回到客户端

 

 

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStreamWriter;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;

public class ObjectToXml {
private final String TITLE = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>";
private final String ROOT_START = "<objects>";
private final String ROOT_END = "</objects>";

public String getObjectToXml(List<Object> list) {
   StringBuffer stringBuffer = new StringBuffer();
   stringBuffer.append(TITLE);
   stringBuffer.append(ROOT_START);
   for (int i = 0; i < list.size(); i++) {
    Object object = list.get(i);
    stringBuffer.append("<" + object.getClass().getSimpleName());
    Field[] fields = object.getClass().getDeclaredFields();
    for (int j = 0; j < fields.length; j++) {
     try {
      String name = fields[j].getName();

      Method method = object.getClass().getMethod(
        "get" + name.substring(0, 1).toUpperCase()
          + name.substring(1), new Class[] {});
      Object result = method.invoke(object, new Object[] {});
      stringBuffer.append(" " + name + "=\"" + result + "\"");
     } catch (Exception e) {
      e.getStackTrace();
     }
    }
    stringBuffer.append(" />");
   }
   stringBuffer.append(ROOT_END);
   return stringBuffer.toString();
}
   
public boolean witerXmlFile(String filepath,String str){
   File file = new File(filepath);
   try {
    if (!file.exists()) {
     //TODO:文件不存在 则创建
     file.createNewFile();
    }
            //BufferedReader bufferedReader = new BufferedReader(new FileReader(file));
            //while((str = bufferedReader.readLine())!=null){
    //     str += str+"\n";
    //}

    BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file)));
    bufferedWriter.write(str);
   
    //bufferedReader.close();
    bufferedWriter.close();
   } catch (Exception e) {
    e.printStackTrace();
   }
   return true;
}
public static void main(String[] args) {
   ObjectToXml objectToXml = new ObjectToXml();

   List<Object> list = new ArrayList<Object>();
   SimpleObject object = new SimpleObject();
   object.setObjectStr1("xingming");
   object.setObjectStr2("mingzi");
   object.setObjectStr3("gaoshou");
   list.add(object);

   object = new SimpleObject();
   object.setObjectStr1("xingming");
   object.setObjectStr2("mingzi");
   object.setObjectStr3("gaoshou");
   list.add(object);

   object = new SimpleObject();
   object.setObjectStr1("xingming");
   object.setObjectStr2("mingzi");
   object.setObjectStr3("gaoshou");
   list.add(object);
  
        String xmlResult = objectToXml.getObjectToXml(list);
   System.out.println(xmlResult);  
  
   boolean flag = objectToXml.witerXmlFile("c:/xmlResult.xml",xmlResult);
   if(flag){
    System.out.println("写文件成功!");
   }else{
    System.out.println("写文件失败!");
   }
}
}

class SimpleObject {
private String objectStr1;
private String objectStr2;
private String objectStr3;

public SimpleObject() {

}

public String getObjectStr1() {
   return objectStr1;
}

public void setObjectStr1(String objectStr1) {
   this.objectStr1 = objectStr1;
}

public String getObjectStr2() {
   return objectStr2;
}

public void setObjectStr2(String objectStr2) {
   this.objectStr2 = objectStr2;
}

public String getObjectStr3() {
   return objectStr3;
}

public void setObjectStr3(String objectStr3) {
   this.objectStr3 = objectStr3;
}
}

分享到:
评论

相关推荐

    Java实现XML导入不同数据库,从数据库导出数据到XML

    以下是一个简化的例子,展示如何将XML数据转换为Java对象,然后插入数据库: ```java // 解析XML获取数据 List&lt;DataObject&gt; dataList = parseXmlWithJDOM(xmlFile); // 连接数据库 Connection conn = DriverManager...

    webservice cxf spring整合返回list,bean,string,json,xml项目完整实例

    本项目旨在展示如何在Java企业级应用(Java EE)中,通过Apache CXF框架创建Web服务,并结合Spring框架进行管理,从而能够灵活地返回不同类型的数据,包括List、自定义Bean对象、纯文本String以及常见的数据交换格式...

    webservice获取List案例

    这通常涉及到JAXB(Java Architecture for XML Binding)或其他类似的库,它们将Java对象转换为XML,反之亦然。 4. **JAXB**:JAXB是Java SE中的一部分,它提供了一种将Java对象转换为XML文档,以及将XML文档转换回...

    解析Json字符串直接转换为对象(包括多层List集合 嵌套)所用jar包

    在Java编程中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它使得人和机器都能容易地读取和编写数据。JSON格式通常用于Web服务与客户端之间的数据交互,因为它的结构清晰,易于解析和生成。在...

    java调用openamf实例,把取回的结果转换成list或bean.

    在本实例中,我们将探讨如何使用Java客户端来调用OpenAMF服务,并将返回的结果转换为List或Bean对象,以便于在Java端处理。 首先,我们需要理解AMF。AMF是一种二进制数据格式,用于在Flex和服务器之间高效地传输...

    ajax调用action返回xml或list

    这种方式则是将查询到的数据保存到Request域中,然后在JSP页面中通过EL表达式读取这些数据并渲染成XML格式。 #### 四、配置与部署 为了使上述代码能够正常运行,还需要进行相应的配置: 1. **Struts2配置文件**...

    AXIS2中OMElement和Java对象之间的转换

    AXIS2 中 OMElement 和 Java 对象之间的转换 AXIS2 是一个流行的开源 Web 服务框架,它提供了一个强大的对象模型,称为 AXIOM(AXIs 对象模型),用于提高 XML 处理期间的内存使用率和性能。AXIOM 通过使用 ...

    动态调取webservice返回json数据并处理

    1. 创建WebService客户端:根据WebService的WSDL(Web服务描述语言)文件,可以自动生成客户端代理类。对于.NET平台,可以使用`svcutil.exe`工具或在Visual Studio中添加服务引用来完成。 2. 实例化客户端对象:...

    android之客户端从服务端解析数据及上传与反馈数据

    2. **数据解析**:服务端返回的数据通常以JSON格式存在,Android客户端需要将这些数据解析为可操作的对象。Gson库是一个常用的JSON解析库,它可以将JSON字符串自动映射到Java对象,反之亦然。例如,你可以创建一个...

    java源码包---java 源码 大量 实例

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    xml Document to Json

    总之,"XML Document to Json"项目关注的是如何在Java环境下利用Maven和Jackson库,将XML数据转换为JSON格式,以便于在现代Web应用中进行高效的数据交互。理解这一转换过程对于理解和优化应用程序的数据处理至关重要...

    Android开发-Retrofit-AndroidStudio(四)simplexml解析XML_免积分

    当从服务器获取到XML响应后,Retrofit会自动使用简单XML库将XML数据转换成`User`对象列表。你可以选择在主线程或者后台线程处理这个结果,这取决于你的具体需求。 总结起来,本教程主要介绍了如何在Android Studio...

    多层集合嵌套的JSON数据转化为Java对象(src.zip)

    这会自动将JSON中的数据填充到对应的Java对象中。 4. **处理集合嵌套** 如果JSON数据中包含数组或列表,例如: ```json { "key1": "value1", "key2": [ {"subKey1": "subValue1"}, {"subKey1": "subValue2...

    dwr.xml文件

    下面将详细介绍dwr.xml文件中的各个部分及其含义: ##### 1. XML声明 ```xml &lt;?xml version="1.0" encoding="UTF-8"?&gt; ``` 此行是XML文档的声明,指明了该文档采用的XML版本为1.0,并且使用UTF-8编码格式。 ##### ...

    DWR.xml配置文件说明书(含源码)

    从java中传递null值到javascript是没有任何危险性的,所以DWR将这个作为默认的converter,所以你自己不用再把这个converter添加到配置文件的部分中去. 基本类型的converter转换int,boolean,double等.当然还包括对应的...

    web service小程序(返回list)

    4. **解析响应数据**:接收到服务返回的List后,需要进行JSON或XML解析,将数据转换为Android可使用的对象,如ArrayList,并在界面上展示。 5. **异常处理**:考虑网络连接错误、服务不可用等情况,编写异常处理代码...

    FTP客户端Java类库 ftp4j

    在Java开发环境中,如果需要实现FTP客户端功能,可以借助第三方类库,如`ftp4j`。`ftp4j`是一个功能丰富的Java FTP客户端库,它提供了一套完整的API,方便开发者在Java应用程序中集成FTP功能。 `ftp4j`类库的主要...

    jquery+xml

    - XML到XSD:通过CMD.exe运行trang.jar,使用命令行java –jar trang.jar barcode_db.xml barcode_db.xsd将XML转换为XSD。 - XSD到XML:使用Excel导入XML映射结构-XSD,将XSD转换回XML实例文件。 总结: jQuery+XML...

    java源码包2

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

    java源码包3

     Java访问权限控制,为Java操作文件、写入文件分配合适的权限,定义写到文件的信息、定义文件,输出到c:/hello.txt、写信息到文件、关闭输出流。 Java绘制图片火焰效果 1个目标文件 摘要:Java源码,图形操作,火焰...

Global site tag (gtag.js) - Google Analytics