导航:首页 > 编程语言 > java动态生成xml

java动态生成xml

发布时间:2024-06-08 01:15:54

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">
# <name>xuehui</name>
# <age>28</age>
# <sex>Male</sex>
# </user>
# <user id="1">
# <name>xuehui</name>
# <age>28</age>
# <sex>Male</sex>
# </user>
# <user id="2">
# <name>xuehui</name>
# <age>28</age>
# <sex>Male</sex>
# </user>
# <user id="3">
# <name>xuehui</name>
# <age>28</age>
# <sex>Male</sex>
# </user>
# <user id="4">
# <name>xuehui</name>
# <age>28</age>
# <sex>Male</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高手,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文件,并将它返回

实例:
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文件,并且将该文件压缩成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文件

用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格式,具体格式如下,请问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>

jsp Form->Java Bean ->使用XStream->生成XML文件

[代码]1.实体类:PersonBean

import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias; import com.thoughtworks.xstream.annotations.XStreamImplicit;

@XStreamAlias("person")
public class PersonBean {

@XStreamAlias("firstName")

private String firstName;

@XStreamAlias("lastName")

private String lastName;

@XStreamAlias("telphone")

private PhoneNumber tel;

@XStreamAlias("faxphone")

private PhoneNumber fax;

//省略setter和getter }

main函数示例1:toxml

import com.thoughtworks.xstream.XStream; import com.thoughtworks.xstream.io.json.JsonWriter.Format; import com.thoughtworks.xstream.io.xml.DomDriver;

public class PersonTest {

public static void main(String[] args) {

PersonBean per=new PersonBean();

per.setFirstName("chen");

per.setLastName("youlong");

PhoneNumber tel=new PhoneNumber();

tel.setCode(137280);

tel.setNumber("137280968");

PhoneNumber fax=new PhoneNumber();

fax.setCode(20);

fax.setNumber("020221327");

per.setTel(tel);

per.setFax(fax);

//java对象转换成xml
String xml=XmlUtil.toXml(per);

System.out.println("xml==="+xml);

}

}

main函数示例2:toBean

public static void main(String[] args) {

String xmlStr="<person>"+

"<firstName>chen</firstName>"+

"<lastName>youlong</lastName>"+

"<telphone>"+

"<code>137280</code>"+

"<number>137280968</number>"+

"</telphone>"+

"<faxphone>"+

"<code>20</code>"+

"<number>020221327</number>"+

"</faxphone>"+

"<friends>"+

"<name>A1</name>"+

"<name>A2</name>"+

"<name>A3</name>"+

"</friends>"+

"<pets>"+

"<pet>"+

"<name>doly</name>"+

"<age>2</age>"+

"</pet>"+

"<pet>"+

"<name>Ketty</name>"+

"<age>2</age>"+

"</pet>"+

"</pets>"+

"</person>"; //用泛型的知识
PersonBean person=XmlUtil.toBean(xmlStr, PersonBean.class);

System.out.println("person=firstname=="+person.getFirstName());

System.out.println("person==Friends==name1=="+person.getFriend().getName().get(0));

System.out.println("person==Pets==name2=="+person.getPet().getAnimalList().get(1).getName());

}

⑨ 用Java怎么把String类型的字符串转化为XML格式输出

java中将string转换成文件,使用开源jar包 dom4j:

packagecom.webdesk.swing.powertable.util;

importjava.io.ByteArrayInputStream;
importjava.io.File;
importjava.io.FileWriter;
importjava.io.IOException;

importorg.dom4j.Document;
importorg.dom4j.DocumentException;
importorg.dom4j.io.OutputFormat;
importorg.dom4j.io.SAXReader;
importorg.dom4j.io.XMLWriter;

publicclassXmlUtil{

(StringfileName){
try{
SAXReadersaxReader=newSAXReader();//新建一个解析类
DocumenttempDocument=saxReader.read(XmlUtil.class.getClassLoader().getResourceAsStream(fileName));//读入一个文件
returntempDocument.asXML();
}catch(DocumentExceptione){
e.printStackTrace();
}
returnnull;
}
//将字符串string类型转换成xml文件
publicstaticvoidstrChangeXML(Stringstr)throwsIOException{
SAXReadersaxReader=newSAXReader();
Documentdocument;
try{
document=saxReader.read(newByteArrayInputStream(str.getBytes("UTF-8")));
OutputFormatformat=OutputFormat.createPrettyPrint();
/**将document中的内容写入文件中*/
XMLWriterwriter=newXMLWriter(newFileWriter(newFile("src/com/webdesk/swing/powertable/digester/cctv.xml")),format);
writer.write(document);
writer.close();
}catch(DocumentExceptione){
e.printStackTrace();
}

}
}

⑩ java生成大型XML文件,有什么好方法

如果是解析XML文档,XML文件大可以用SAX方式解析。
如果是生成XML文档,那么可以用拼字符串的方式,一边拼串一边写入文件。而不是在内存将整个XML树生成后再写入文件。

阅读全文

与java动态生成xml相关的资料

热点内容
周年店庆微信文章素材 浏览:154
网络语你是坏人怎么说 浏览:788
龙龙网络电视 浏览:892
mongodb数据库更新 浏览:188
微信朋友圈浏览痕迹吗 浏览:672
视频文件上面的标题怎么弄上去的 浏览:434
今日头条安卓21 浏览:464
电脑店u盘启动盘制作工具v61 浏览:766
9月19订的苹果6splus 浏览:270
网络人绿色版 浏览:450
linux服务器启动oracle 浏览:621
win10怎么语音呼唤小娜 浏览:456
qq飞车银天使 浏览:612
骑车赚钱app 浏览:111
怎么从电脑上下编程 浏览:508
linux如何复制到其他文件夹 浏览:70
碧蓝航线文件找不到怎么办 浏览:937
苹果备份的文件夹怎么恢复 浏览:941
看小黄APP有哪些 浏览:206
怎样在手机看264文件 浏览:80

友情链接