java創建xml
『壹』 如何用java語言生成xml文件,並將它返回
實例:
holen.xml
<?xml version="1.0" encoding="UTF-8"?>
<books>
<!--This is a test for dom4j, holen, 2004.9.11-->
<book show="yes">
<title>Dom4j Tutorials</title>
</book>
<book show="yes">
<title>Lucene Studing</title>
</book>
<book show="no">
<title>Lucene in Action</title>
</book>
<owner>O'Reilly</owner>
</books>
建立一個XML文檔:
/**
* 建立一個XML文檔,文檔名由輸入屬性決定
* @param filename 需建立的文件名
* @return 返回操作結果, 0表失敗, 1表成功
*/
public int createXMLFile(String filename){
/** 返回操作結果, 0表失敗, 1表成功 */
int returnValue = 0;
/** 建立document對象 */
Document document = DocumentHelper.createDocument();
/** 建立XML文檔的根books */
Element booksElement = document.addElement("books");
/** 加入一行注釋 */
booksElement.addComment("This is a test for dom4j, holen, 2004.9.11");
/** 加入第一個book節點 */
Element bookElement = booksElement.addElement("book");
/** 加入show屬性內容 */
bookElement.addAttribute("show","yes");
/** 加入title節點 */
Element titleElement = bookElement.addElement("title");
/** 為title設置內容 */
titleElement.setText("Dom4j Tutorials");
/** 類似的完成後兩個book */
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show","yes");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene Studing");
bookElement = booksElement.addElement("book");
bookElement.addAttribute("show","no");
titleElement = bookElement.addElement("title");
titleElement.setText("Lucene in Action");
/** 加入owner節點 */
Element ownerElement = booksElement.addElement("owner");
ownerElement.setText("O'Reilly");
try{
/** 將document中的內容寫入文件中 */
XMLWriter writer = new XMLWriter(new FileWriter(new File(filename)));
writer.write(document);
writer.close();
/** 執行成功,需返回1 */
returnValue = 1;
}catch(Exception ex){
ex.printStackTrace();
}
return returnValue;
}
說明:
Document document = DocumentHelper.createDocument();
通過這句定義一個XML文檔對象。
Element booksElement = document.addElement("books");
通過這句定義一個XML元素,這里添加的是根節點。
Element有幾個重要的方法:
l addComment:添加註釋
l addAttribute:添加屬性
l addElement:添加子元素
『貳』 如何用java代碼創建xml文件
用java自帶的就可以,有問題可以問我
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
//構造
public XMLUtil(String name) throws ParserConfigurationException {
filename = name;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
builder = factory.newDocumentBuilder();
document = builder.newDocument();
}
/**
* 保存到文件
*/
public void toSave() {
try {
TransformerFactory tf = TransformerFactory.newInstance();
Transformer transformer = tf.newTransformer();
DOMSource source = new DOMSource(document);
transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
PrintWriter pw = new PrintWriter(new FileOutputStream(filename));
StreamResult result = new StreamResult(pw);
transformer.transform(source, result);
} catch (TransformerException mye) {
mye.printStackTrace();
} catch (IOException exp) {
exp.printStackTrace();。
『叄』 如何用java生成一個xml文件
一個XML文檔,可以先構造一個DOM,然後將DOM轉化為xml序列,輸出或者生成文件。package test;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
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;
public class Test {
public static void generate(){
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.newDocument();
document.setXmlVersion("1.0");
document.setXmlStandalone(true);
Element root = document.createElement_x("MobileNet"); //創建根節點
document.appendChild(root); //將根節點添加到Document對象中
Element pageElement = document.createElement_x("page"); //設置第一個page元素到
pageElement.setAttribute("name", "list.jsp"); //設置page節點的name屬性
Element methodElement = document.createElement_x("method"); //設置method節點
methodElement.setTextContent("get"); //給method設置值
pageElement.appendChild(methodElement); //添加method節點到page節點內
Element displayElement = document.createElement_x("display"); //設置method節點
displayElement.setTextContent("list撒旦發放"); //給display設置值
pageElement.appendChild(displayElement); //添加display節點到page節點內
Element request_paramElement = document.createElement_x("request_param");
request_paramElement.setTextContent("request_param1|request_param2");
pageElement.appendChild(request_paramElement);
root.appendChild(pageElement);
pageElement = document.createElement_x("page"); //設置第二個page元素到
pageElement.setAttribute("name", "content.jsp"); //設置page節點的name屬性
methodElement = document.createElement_x("method");
methodElement.setTextContent("post");
pageElement.appendChild(methodElement);
displayElement = document.createElement_x("display");
displayElement.setTextContent("content");
pageElement.appendChild(displayElement);
Element url_titleElement = document.createElement_x("url_title"); //設置url_title節點
url_titleElement.setTextContent("title,publisher,published_calendar"); //給url_title設置值
pageElement.appendChild(url_titleElement); //添加url_title節點到page節點內
root.appendChild(pageElement); //將page段加人根節點內
TransformerFactory transFactory = TransformerFactory.newInstance(); //開始把Document映射到文件
Transformer transFormer = transFactory.newTransformer();
DOMSource domSource = new DOMSource(document); //設置輸出結果
File file = new File("MobileNetRule.xml"); //生成xml文件
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream out = new FileOutputStream(file); //文件輸出流
StreamResult xmlResult = new StreamResult(out); //設置輸入源
transFormer.transform(domSource, xmlResult); //輸出xml文件
System.out.println(file.getAbsolutePath()); //測試文件輸出的路徑
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("{/encoding/}","GB2312/");
ByteArrayOutputStream boc = new ByteArrayOutputStream();
t.transform(new DOMSource(document), new StreamResult(boc));
String xmlstring = boc.toString();
System.out.println(xmlstring);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args){
Test.generate();
}
}
『肆』 JAVA如何寫XML文件
import java.io.*;
import org.dom4j.*;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
public class DOM4JTest {
public static void main(String[] args) {
Document doc = DocumentHelper.createDocument();
doc.addProcessingInstruction("xml-stylesheet", "type='text/xsl href='students.xsl'");
Element root = doc.addElement("students");
Element eltStu1 = root.addElement("student").addAttribute("sn", "01");
Element eltName1 = eltStu1.addElement("name");
Element eltAge1 = eltStu1.addElement("age");
eltName1.setText("張三");
eltAge1.setText("20");
Element eltStu2 = root.addElement("student").addAttribute("sn", "02");
Element eltName2 = eltStu2.addElement("name");
Element eltAge2 = eltStu2.addElement("age");
eltName2.setText("李四");
eltAge2.setText("18");
try {
OutputFormat format = new OutputFormat(" ", true);
format.setEncoding("gb2312");
// 可以把System.out改為需要的流。
XMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format);
xmlWriter.write(doc);
xmlWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
『伍』 如何用java生成一個XML文件,並且將該文件壓縮成ZIP格式後再寫到硬碟上
在你聲明ZipEntry的時候在name後加上.xml後綴就可以沖核了!!!
實例如下:
public static void main(String[] arg) throws Exception{
String xml;
/*
* 生成你的xml數據,存在String xml中。
*/散拿掘
ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream("D://test.zip"));
//聲明ZipOutputStream,用來輸出zip文件。
ZipEntry entry = new ZipEntry("test.xml");
//聲明ZipEntry
zipOut.putNextEntry(entry);
//將entry加入到zipOut中。
DataOutputStream dataOs = new DataOutputStream(zipOut);
//利用DataOutputStream對ZipOutputStream進行包裝。敏宏
dataOs.writeUTF(gd);
//輸出zip文件。
dataOs.close();
}
運行後,在D盤里就有一個test.zip文件,里包含的就是一個test.xml文件了。
『陸』 java生成大型XML文件,有什麼好方法
如果是解析XML文檔,XML文件大可以用SAX方式解析。
如果是生成XML文檔,那麼可以用拼字元串的方式,一邊拼串一邊寫入文件。而不是在內存將整個XML樹生成後再寫入文件。
『柒』 大家好,請教Java高手,Java生成xml文件
import java.io.File;
import java.io.FileWriter;
import java.io.PrintWriter;
import javax.swing.JOptionPane;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class Test20 {
public static void main(String[] args) throws Exception {
Document dom=DocumentHelper.createDocument();//創建xml文件
Element root=dom.addElement("url");//添加根元素,Xval
Element data=root.addElement("data");
data.setText("淘寶");
Element licence=root.addElement("Licence");
licence.setText("免費軟體");
String xml=dom.asXML();
System.out.println(xml);
File f=new File("d:/xml.xml");
PrintWriter pw=new PrintWriter(f);
pw.write(xml);
pw.close();
JOptionPane.showMessageDialog(null, "已生成xml文件,路徑為為d:/xml.xml");
}
}
用的是dom4j,見附件,
Have Fun