當前位置:首頁 » 編程語言 » xmljava生成

xmljava生成

發布時間: 2022-12-10 02:48:49

『壹』 如何用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文件,並且將該文件壓

package com.test.io;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;

public class CreateXmlFile {

private static final String XML_TITLE = "<?xml version=\"1.0\" encoding=\"utf-8\"?>";

private static final String FILE_PATH = "d:";

private static final String FILE_SPE = "/";

private static final String CHANGE_LINES = "\n";

private static final String FILE_NAME = "text.xml";

public static void main(String[] args) {
String xml = appendStr();
try {
File file = createXmlFile(FILE_PATH + FILE_SPE + FILE_NAME);
writeDoc(file, xml);
System.out.println("文件已經創建:");
System.out.println("目錄:" + FILE_PATH + FILE_SPE + FILE_NAME);
System.out.println("文件內容為:");
System.out.println(xml);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

/**
* 組裝XML內容
* @return
*/
private static String appendStr(){
StringBuffer sb = new StringBuffer();
sb.append(XML_TITLE).append(CHANGE_LINES);
sb.append("<book>").append(CHANGE_LINES);
sb.append("<name>").append(CHANGE_LINES);
sb.append("《好玩》").append(CHANGE_LINES);
sb.append("</name>").append(CHANGE_LINES);
sb.append("</book>").append(CHANGE_LINES);
return sb.toString();
}

/**
* 將內容寫入文件
* @param file
* @param str
*/
private static void writeDoc(File file,String str){
OutputStream out = null;
try {
out = new FileOutputStream(file);
out.write(str.getBytes());
}catch(Exception ex){
//
ex.printStackTrace();
}finally{
if(out != null){
try {
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

/**
* 創建文件
* @param path
* @return
* @throws IOException
*/
private static File createXmlFile(String path) throws IOException{
File file = new File(path);
if(!file.exists()){
file.createNewFile();
}
return file;
}
}

『叄』 java 生成XML問題

1.改一下你的文件輸出位置,語句是
File file =new File("textnode2.xml");
比如,改成File file =new File("d:/textnode2.xml"); 運行結束之後就會在d盤看到你的這個文件了
2.如果要換行的話:
在Transformer transformer=transFactory.newTransformer();
之後加上 transformer.setOutputProperty(OutputKeys.INDENT, "yes");
3.編碼:還要加上
transformer.setOutputProperty(OutputKeys.ENCODING, "GB2312");
4.提醒:似乎漏了"計算機入門"這個文本元素

『肆』 如何用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文檔,XML文件大可以用SAX方式解析。
如果是生成XML文檔,那麼可以用拼字元串的方式,一邊拼串一邊寫入文件。而不是在內存將整個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高手,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

『捌』 JAVA 生成xml格式,具體格式如下,請問JAVA方法怎麼寫

importjava.io.File;
importjava.io.FileNotFoundException;
importjava.io.FileOutputStream;
importjava.io.IOException;
importorg.w3c.dom.*;
importorg.xml.sax.SAXException;
importjavax.xml.parsers.*;
importjavax.xml.transform.*;
importjavax.xml.transform.dom.DOMSource;
importjavax.xml.transform.stream.*;
importjavax.xml.xpath.*;
publicclassTest{
publicstaticvoidmain(String[]args){
DocumentBuilderFactoryfactory=DocumentBuilderFactory.newInstance();
ElementtheBook=null,theElem=null,root=null;
try{
factory.(true);

DocumentBuilderdb=factory.newDocumentBuilder();
Documentxmldoc=db.parse(newFile("Test1.xml"));
root=xmldoc.getDocumentElement();

theBook=(Element)selectSingleNode("/books/book[name='哈里波特']",root);
System.out.println("---查詢找《哈里波特》----");
ElementnameNode=(Element)theBook.getElementsByTagName("price").item(0);
Stringname=nameNode.getFirstChild().getNodeValue();
System.out.println(name);
output(theBook);
System.out.println("=============selectSingleNode(books/book[name='哈里波特'],root)==================");

//---新建一本書開始----
theBook=xmldoc.createElement("book");
theElem=xmldoc.createElement("name");
theElem.setTextContent("新書");
theBook.appendChild(theElem);

theElem=xmldoc.createElement("price");
theElem.setTextContent("20");
theBook.appendChild(theElem);
theElem=xmldoc.createElement("memo");
theElem.setTextContent("新書的更好看。");
theBook.appendChild(theElem);
root.appendChild(theBook);
System.out.println("---新建一本書開始----");
output(xmldoc);
System.out.println("==============================");

//---新建一本書完成----
//---下面對《哈里波特》做一些修改。----
//---查詢找《哈里波特》----

//---此時修改這本書的價格-----
theBook.getElementsByTagName("price").item(0).setTextContent("15");//getElementsByTagName返回的是NodeList,所以要跟上item(0)。另外,getElementsByTagName("price")相當於xpath的".//price"。
System.out.println("---此時修改這本書的價格----");
output(theBook);
//---另外還想加一個屬性id,值為B01----
theBook.setAttribute("id","B01");
System.out.println("---另外還想加一個屬性id,值為B01----");
output(theBook);
//---對《哈里波特》修改完成。----
//---要用id屬性刪除《三國演義》這本書----
theBook=(Element)selectSingleNode("/books/book[@id='B02']",root);
System.out.println("---要用id屬性刪除《三國演義》這本書----");
output(theBook);
theBook.getParentNode().removeChild(theBook);
System.out.println("---刪除後的XML----");
output(xmldoc);
//---再將所有價格低於10的書刪除----
NodeListsomeBooks=selectNodes("/books/book[price<10]",root);
System.out.println("---再將所有價格低於10的書刪除---");
System.out.println("---符合條件的書有"+someBooks.getLength()+"本。---");
for(inti=0;i<someBooks.getLength();i++){
someBooks.item(i).getParentNode().removeChild(someBooks.item(i));
}
output(xmldoc);
saveXml("Test1_Edited.xml",xmldoc);
}catch(ParserConfigurationExceptione){
e.printStackTrace();
}catch(SAXExceptione){
e.printStackTrace();
}catch(IOExceptione){
e.printStackTrace();
}
}
publicstaticvoidoutput(Nodenode){//將node的XML字元串輸出到控制台
=TransformerFactory.newInstance();
try{
Transformertransformer=transFactory.newTransformer();
transformer.setOutputProperty("encoding","gb2312");
transformer.setOutputProperty("indent","yes");
DOMSourcesource=newDOMSource();
source.setNode(node);
StreamResultresult=newStreamResult();
result.setOutputStream(System.out);

transformer.transform(source,result);
}catch(){
e.printStackTrace();
}catch(TransformerExceptione){
e.printStackTrace();
}
}

(Stringexpress,Objectsource){//查找節點,並返回第一個符合條件節點
Noderesult=null;
XPathFactoryxpathFactory=XPathFactory.newInstance();
XPathxpath=xpathFactory.newXPath();
try{
result=(Node)xpath.evaluate(express,source,XPathConstants.NODE);
}catch(XPathExpressionExceptione){
e.printStackTrace();
}

returnresult;
}

(Stringexpress,Objectsource){//查找節點,返回符合條件的節點集。
NodeListresult=null;
XPathFactoryxpathFactory=XPathFactory.newInstance();
XPathxpath=xpathFactory.newXPath();
try{
result=(NodeList)xpath.evaluate(express,source,XPathConstants.NODESET);
}catch(XPathExpressionExceptione){
e.printStackTrace();
}

returnresult;
}

publicstaticvoidsaveXml(StringfileName,Documentdoc){//將Document輸出到文件
=TransformerFactory.newInstance();
try{
Transformertransformer=transFactory.newTransformer();
transformer.setOutputProperty("indent","yes");
DOMSourcesource=newDOMSource();
source.setNode(doc);
StreamResultresult=newStreamResult();
result.setOutputStream(newFileOutputStream(fileName));

transformer.transform(source,result);
}catch(){
e.printStackTrace();
}catch(TransformerExceptione){
e.printStackTrace();
}catch(FileNotFoundExceptione){
e.printStackTrace();
}
}
}

XML:
<?xmlversion="1.0"encoding="GBK"?>
<books>
<book>
<name>哈里波特</name>
<price>10</price>
<memo>這是一本很好看的書。</memo>
</book>
<bookid="B02">
<name>三國演義</name>
<price>10</price>
<memo>四大名著之一。</memo>
</book>
<bookid="B03">
<name>水滸</name>
<price>6</price>
<memo>四大名著之一。</memo>
</book>
<bookid="B04">
<name>紅樓</name>
<price>5</price>
<memo>四大名著之一。</memo>
</book>
</books>

『玖』 java 生成xml文件怎麼有格式

需要jdom.jar和dom4j.jar這兩個包
/**
* 將crash信息打包成xml格式
* @param hashMap 原始crash信息的hashmap形式
* @throws IOException
* @throws JDOMException
*/
public void BuildXMLDoc(HashMap<String, String> hashMap) throws IOException, JDOMException {
int size = hashMap.size();
Iterator iter = hashMap.entrySet().iterator();
Map.Entry entry;
String key;
String val;
int id = 1;
// 創建根節點 list;
Element root = new Element("phoneInfo");
// 根節點添加到文檔中;
Document Doc = new Document(root);
// 此處 迭代器的遍歷 可替換成循環遍歷 資料庫表的結果集操作;
while (iter.hasNext()) {
entry = (Map.Entry)iter.next();
key = (String)entry.getKey();
val = hashMap.get(key);
if (val == null || val.length() == 0)
{
val = "null";
}
// 創建節點 user;
Element elements = new Element("category");
// 給 user 節點添加屬性 id;
elements.setAttribute("id", "" + id);
id ++;
// 給 user 節點添加子節點並賦值;
// new Element("name")中的 "name" 替換成表中相應欄位,setText("xuehui")中 "xuehui
// 替換成表中記錄值;
elements.addContent(new Element(key).setText(val));
// 給父節點list添加user子節點;
root.addContent(elements);
}
//帶有縮進格式的xml 更美觀
Format format = Format.getPrettyFormat();
XMLOutputter XMLOut = new XMLOutputter(format);
XMLOut.output(Doc, new FileOutputStream(FileUtil.CRASHPATH));
System.out.println("完成了文件寫入");
}
上面雖然是對hashmap的遍歷,但是對於其他容器的遍歷形式不變,只是換成你需要的信息即可
下面是其他文章找到的
生成XML的時候,處理特殊字元
element.addContent(new CDATA("<xml> content"));
生成XML的時候,設置編碼
XMLOutputter XMLOut = new XMLOutputter();
XMLOut.setEncoding("gb2312");
XMLOut.output(Doc, new FileOutputStream("test1.xml"));

熱點內容
2編程 發布:2025-01-21 09:36:50 瀏覽:776
把我的世界的ice伺服器炸了 發布:2025-01-21 09:31:01 瀏覽:681
sql資料庫導入數據 發布:2025-01-21 09:25:21 瀏覽:420
zynqsdk修改編譯選項 發布:2025-01-21 09:22:30 瀏覽:875
存儲器部件教學實驗 發布:2025-01-21 09:14:06 瀏覽:179
php安裝memcached擴展 發布:2025-01-21 09:07:06 瀏覽:546
手機緩存視頻到電腦上 發布:2025-01-21 09:07:02 瀏覽:978
如果知道伺服器ip有什麼風險 發布:2025-01-21 09:06:58 瀏覽:525
在壓縮曲線 發布:2025-01-21 09:05:31 瀏覽:910
華山演算法 發布:2025-01-21 08:44:48 瀏覽:367