2009年6月22日 星期一

java XML 寫入

轉貼幾篇在java 讀取 xml 的文章

1. 用jdom來創建xml文件

2. Java XML API 漫谈

以下是我修改後的範例

包含新增 、刪除、列出所有



//-------------------------------------------------
// JDOM sample
//-------------------------------------------------

import java.io.*;

import java.util.List;

import org.jdom.Document;
import org.jdom.Element;
import org.jdom.JDOMException;
import org.jdom.output.XMLOutputter;
import org.jdom.xpath.XPath;





public class myCreate {

public myCreate() {



// 要寫入的文字
String[] strChapter = { "XML sample ", "write XML", "what is XML", "control XML", "check XML", "transfare XML" };


//建立jdom的 document 的 element
Element elmtRoot = new Element("Article");

// 建立jdom的 document "Article" 下
Document docJDOM = new Document(elmtRoot);

//新增 子 element 在

for(int i=0; i<6; elmtchapter =" new" style="color: rgb(0, 153, 0);">//刪除 子節點 by index, 此例是第4個
List lstChapter = elmtRoot.getChildren("Chapter");
lstChapter.remove(4);



//刪除2 特定名稱
int x=-1;
for(int i=0;i // 列出所有
for(int i=0;i//新增2

Element elmtChapter = new Element("Chapter");

elmtChapter.addContent("TEst");

elmtChapter.setAttribute("sort", "9");

elmtRoot.addContent(elmtChapter);



//輸出xml檔, 寫入 myJDOM.xml

OutputXML(docJDOM, "myJDOM.xml");

}



private void OutputXML(Document docXML, String strFilename) {

XMLOutputter fmt = new XMLOutputter();

try {

// fmt.setFormat(newFormat)();

//fmt.setNewlines(true);


FileWriter fwXML = new FileWriter(strFilename);

fmt.output(docXML, fwXML);

fwXML.close();

}

catch (IOException e) {

e.printStackTrace();

}

}



public static void main(String[] args) {

myCreate myCreate1 = new myCreate();

}

}

3 則留言:

Cc 提到...

原本想要在 Google App 上使用 write XML 的, 但 Google App 不支援 FileWriter 在 APP 上....

anon_anon 提到...

Have you looked at vtd-xml? it is a lot faster and memory efficient than DOM4J and JDOM

vtd-xml

Cc 提到...

Thank you, i will try it !