您的位置:

java对集合数据转xml,集合转对象

本文目录一览:

java中,怎么将一组数据写入xml文件中?

有很多种方法,用DOM或SAX, 还有JAXB等。下面给个DOM写的例子:

java使用DOM创建如下xml:

?xml version="1.0" encoding="UTF-8" standalone="no"?

root

name id="2"zs/name

/root

代码如下:

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.transform.Transformer;

import javax.xml.transform.TransformerFactory;

import javax.xml.transform.dom.DOMSource;

import javax.xml.transform.stream.StreamResult;

import org.w3c.dom.Document;

import org.w3c.dom.Element;

import org.w3c.dom.Text;

public class CreateXML {

public static void main(String[] args) throws Exception {

//实例化解析器

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

DocumentBuilder builder = factory.newDocumentBuilder();

//创建Document对象

Document doc = builder.newDocument();

//创建XML文件所需的各种对象并序列化

Element root = doc.createElement("root");

Element name = doc.createElement("name");

Text nameText = doc.createTextNode("zs");

name.appendChild(nameText);

root.appendChild(name);

doc.appendChild(root);

name.setAttribute("id", "2");

doc2XmlFile(doc,"test.xml");

}

public static boolean doc2XmlFile(Document document, String filename) {

boolean flag = true;

try {

TransformerFactory tFactory = TransformerFactory.newInstance();

Transformer transformer = tFactory.newTransformer();

/** 编码 */

// transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");

DOMSource source = new DOMSource(document);

StreamResult result = new StreamResult(new File(filename));

transformer.transform(source, result);

} catch (Exception ex) {

flag = false;

ex.printStackTrace();

}

return flag;

}

}

JAVA中将数据导出成XML文件(急急急急)

2./**

1. * desciption:java create xml file

2. * author:maomao

3. * datetime:2007/04/04 23:42

4. */

5.

6.package com.xh.xml;

1.

2.import java.io.FileOutputStream;

1.import java.io.IOException;

1.import org.jdom.Document;

1.import org.jdom.Element;

1.import org.jdom.JDOMException;

1.import org.jdom.output.XMLOutputter;

1.

2.public class Java2XML {

1.

2. public void BuildXMLDoc() throws IOException, JDOMException {

3.

4. // 创建根节点 list;

5. Element root = new Element("list");

6.

7. // 根节点添加到文档中;

8. Document Doc = new Document(root);

9.

10. // 此处 for 循环可替换成 遍历 数据库表的结果集操作;

11. for (int i = 0; i 5; i++) {

12.

13. // 创建节点 user;

14. Element elements = new Element("user");

15.

16. // 给 user 节点添加属性 id;

17. elements.setAttribute("id", "" + i);

18.

19. // 给 user 节点添加子节点并赋值;

20. // new Element("name")中的 "name" 替换成表中相应字段,setText("xuehui")中 "xuehui 替换成表中记录值;

21. elements.addContent(new Element("name").setText("xuehui"));

22. elements.addContent(new Element("age").setText("28"));

23. elements.addContent(new Element("sex").setText("Male"));

24.

25. // 给父节点list添加user子节点;

26. root.addContent(elements);

27.

28. }

29. XMLOutputter XMLOut = new XMLOutputter();

30.

31. // 输出 user.xml 文件;

32. XMLOut.output(Doc, new FileOutputStream("user.xml"));

33. }

34.

35. public static void main(String[] args) {

36. try {

37. Java2XML j2x = new Java2XML();

38. System.out.println("生成 mxl 文件...");

39. j2x.BuildXMLDoc();

40. } catch (Exception e) {

41. e.printStackTrace();

42. }

43. }

44.

45.}

生成结果:

# ?xml version="1.0" encoding="UTF-8"?

# list

# user id="0"

# namexuehui/name

# age28/age

# sexMale/sex

# /user

# user id="1"

# namexuehui/name

# age28/age

# sexMale/sex

# /user

# user id="2"

# namexuehui/name

# age28/age

# sexMale/sex

# /user

# user id="3"

# namexuehui/name

# age28/age

# sexMale/sex

# /user

# user id="4"

# namexuehui/name

# age28/age

# sexMale/sex

# /user

# /list

你可以参考一下链接,然后拷贝代码,这里我直接拷贝带上行号。

java 怎么将数据动态的写入xml

只是数据动态写入xml,如果是不求Schema,只要保存为XML即可,

那不用写了,JDK中有,这样做:

XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream( ( (

OutputStream) (new FileOutputStream(filename)))));

encoder.writeObject(list);

encoder.close();

如何在Java中将Excel转化为XML格式文件

实现思路:

直接从Excel文件装换成XML文件是可以实现的,这里我采用一个中间装换,也就是先实现excel文件内容放入实现设计好的access数据库文件中,然后再从access中读取记录写道xml文件中,因为我这里的实际问题是把多个excel表,每个表中又有多个sheet工作薄,这样我先导入数据库中,也方便修改和处理.

这样,需要写两个类:

XlsToAccess类,用来实现从excel文件根据事先约定的格式,按照数据库设计字段存放进去

AccessToXml类,用来实现从access文件数据库中的记录按约定格式写到xml文件中去

然后还需要一个主运行窗口类XlsToXml,这个类我们使用eclipse插件SWT Designer来完成

最后把工程打成JAR包,再用NativeJ将Jar包生成为可执行的exe文件

java中怎么把list的信息写入到xml

package com.imct.util;

import java.beans.XMLDecoder;

import java.beans.XMLEncoder;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileNotFoundException;

import java.io.FileOutputStream;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

/**

* title使用XML文件存取可序列化的对象的类/title

* description提供保存和读取的方法/description

* @author 殷晋

* copyright清华大学汽车工程开发研究院@2005/copyright

* @version 1.0

* 2005-8-5 16:44:49

*/

public class ObjectToXMLUtil

{

/**

* 把java的可序列化的对象(实现Serializable接口)序列化保存到XML文件里面,如果想一次保存多个可序列化对象请用集合进行封装

* 保存时将会用现在的对象原来的XML文件内容

* @param obj 要序列化的可序列化的对象

* @param fileName 带完全的保存路径的文件名

* @throws FileNotFoundException 指定位置的文件不存在

* @throws IOException 输出时发生异常

* @throws Exception 其他运行时异常

*/

public static void objectXmlEncoder(Object obj,String fileName)

throws FileNotFoundException,IOException,Exception

{

//创建输出文件

File fo = new File(fileName);

//文件不存在,就创建该文件

if(!fo.exists())

{

//先创建文件的目录

String path = fileName.substring(0,fileName.lastIndexOf('.'));

File pFile = new File(path);

pFile.mkdirs();

}

//创建文件输出流

FileOutputStream fos = new FileOutputStream(fo);

//创建XML文件对象输出类实例

XMLEncoder encoder = new XMLEncoder(fos);

//对象序列化输出到XML文件

encoder.writeObject(obj);

encoder.flush();

//关闭序列化工具

encoder.close();

//关闭输出流

fos.close();

}

/**

* 读取由objSource指定的XML文件中的序列化保存的对象,返回的结果经过了List封装

* @param objSource 带全部文件路径的文件全名

* @return 由XML文件里面保存的对象构成的List列表(可能是一个或者多个的序列化保存的对象)

* @throws FileNotFoundException 指定的对象读取资源不存在

* @throws IOException 读取发生错误

* @throws Exception 其他运行时异常发生

*/

public static List objectXmlDecoder(String objSource)

throws FileNotFoundException,IOException,Exception

{

List objList = new ArrayList();

File fin = new File(objSource);

FileInputStream fis = new FileInputStream(fin);

XMLDecoder decoder = new XMLDecoder(fis);

Object obj = null;

try

{

while( (obj = decoder.readObject()) != null)

{

objList.add(obj);

}

}

catch (Exception e)

{

// TODO Auto-generated catch block

}

fis.close();

decoder.close();

return objList;

}

}

在Java中,从数据库读取并写成XML文件,这个如何用代码实现。。。

思路很简单开发一个小型的WEB应用,部署在长沙和北京两台服务器上,安装个tomact就可以运行和部署了这个WEB应用主要做如下事情:

接受请求,封装json串 (为什么JSON可以查一下网上大把的)1)收到http请求后,校验是否是来自另外一个服务器的请求(通过判断请求的IP地址是否否为另外一个服务器的IP地址即可)2)校验通过后读取本地服务器数据库,查询需要实时同步的数据表,查出需要同步的数据,组装成数据对象集(例如一个arraylist),然后转换为 json格式串,写入到response输出流中。

发请求获取返回结果,插入/更新数据库1)从reponse输出流中读取返回结果,将JSON串转化为对象集(网上大把的),然后开始更新/插入数据/删除数据——————————————————————————————————————由于涉及三种操作类型 更新 删除 插入 ,所以可以分别实现三个servlet来分别负责:1)查询新增数据/插入新增对象2) 查询更新数据/更新新增对象3)查询删除数据/删除待删除的对象——————————————————————————————————————定时调度同步程序使用timer写个jar程序,循环每5分钟利用httpconnnection一次请求之行下插入/更新/删除的servlet___________________________________________________________________