如何用java代码创建xml文件

如何用java代码创建xml文件,第1张

用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()

}

}

实例:

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:添加子元素

import java.io.*\x0d\x0a \x0d\x0aimport org.dom4j.*\x0d\x0a import org.dom4j.io.OutputFormat\x0d\x0a import org.dom4j.io.XMLWriter\x0d\x0a \x0d\x0apublic class DOM4JTest {\x0d\x0a public static void main(String[] args) {\x0d\x0a Document doc = DocumentHelper.createDocument()\x0d\x0a doc.addProcessingInstruction("xml-stylesheet", "type='text/xsl href='students.xsl'")\x0d\x0a Element root = doc.addElement("students")\x0d\x0a \x0d\x0aElement eltStu1 = root.addElement("student").addAttribute("sn", "01")\x0d\x0a Element eltName1 = eltStu1.addElement("name")\x0d\x0a Element eltAge1 = eltStu1.addElement("age")\x0d\x0a eltName1.setText("张三")\x0d\x0a eltAge1.setText("20")\x0d\x0a \x0d\x0aElement eltStu2 = root.addElement("student").addAttribute("sn", "02")\x0d\x0a Element eltName2 = eltStu2.addElement("name")\x0d\x0a Element eltAge2 = eltStu2.addElement("age")\x0d\x0a eltName2.setText("李四")\x0d\x0a eltAge2.setText("18")\x0d\x0a \x0d\x0atry {\x0d\x0aOutputFormat format = new OutputFormat("\x0d\x0a ", true)\x0d\x0aformat.setEncoding("gb2312")\x0d\x0a// 可以把System.out改为你要的流。\x0d\x0aXMLWriter xmlWriter = new XMLWriter(new PrintWriter(System.out), format)\x0d\x0axmlWriter.write(doc)\x0d\x0axmlWriter.close()\x0d\x0a } catch (IOException e) {\x0d\x0ae.printStackTrace()\x0d\x0a }\x0d\x0a }\x0d\x0a }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11474603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存