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___________________________________________________________________

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235584.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:55
下一篇 2024-12-12 11:55

相關推薦

  • Java JsonPath 效率優化指南

    本篇文章將深入探討Java JsonPath的效率問題,並提供一些優化方案。 一、JsonPath 簡介 JsonPath是一個可用於從JSON數據中獲取信息的庫。它提供了一種DS…

    編程 2025-04-29
  • java client.getacsresponse 編譯報錯解決方法

    java client.getacsresponse 編譯報錯是Java編程過程中常見的錯誤,常見的原因是代碼的語法錯誤、類庫依賴問題和編譯環境的配置問題。下面將從多個方面進行分析…

    編程 2025-04-29
  • Java騰訊雲音視頻對接

    本文旨在從多個方面詳細闡述Java騰訊雲音視頻對接,提供完整的代碼示例。 一、騰訊雲音視頻介紹 騰訊雲音視頻服務(Cloud Tencent Real-Time Communica…

    編程 2025-04-29
  • Java Bean加載過程

    Java Bean加載過程涉及到類加載器、反射機制和Java虛擬機的執行過程。在本文中,將從這三個方面詳細闡述Java Bean加載的過程。 一、類加載器 類加載器是Java虛擬機…

    編程 2025-04-29
  • Python讀取CSV數據畫散點圖

    本文將從以下方面詳細闡述Python讀取CSV文件並畫出散點圖的方法: 一、CSV文件介紹 CSV(Comma-Separated Values)即逗號分隔值,是一種存儲表格數據的…

    編程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介紹

    本文將詳細介紹Java Milvus SearchParam withoutFields的相關知識和用法。 一、什麼是Java Milvus SearchParam without…

    編程 2025-04-29
  • Python中讀入csv文件數據的方法用法介紹

    csv是一種常見的數據格式,通常用於存儲小型數據集。Python作為一種廣泛流行的編程語言,內置了許多操作csv文件的庫。本文將從多個方面詳細介紹Python讀入csv文件的方法。…

    編程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java語言中的一個版本,於2014年3月18日發布。本文將從多個方面對Java 8中某一周的周一進行詳細的闡述。 一、數組處理 Java 8新特性之一是Stream…

    編程 2025-04-29
  • Java判斷字符串是否存在多個

    本文將從以下幾個方面詳細闡述如何使用Java判斷一個字符串中是否存在多個指定字符: 一、字符串遍歷 字符串是Java編程中非常重要的一種數據類型。要判斷字符串中是否存在多個指定字符…

    編程 2025-04-29
  • 如何用Python統計列表中各數據的方差和標準差

    本文將從多個方面闡述如何使用Python統計列表中各數據的方差和標準差, 並給出詳細的代碼示例。 一、什麼是方差和標準差 方差是衡量數據變異程度的統計指標,它是每個數據值和該數據值…

    編程 2025-04-29

發表回復

登錄後才能評論