java如何向xml文件写入内容?

java如何向xml文件写入内容?,第1张

我以前学dom解析的时候写了一个小例子,你参考参考

package com.lhx.test

import java.io.File

import java.io.FileNotFoundException

import java.io.FileOutputStream

import java.io.IOException

import javax.xml.parsers.DocumentBuilder

import javax.xml.parsers.DocumentBuilderFactory

import javax.xml.parsers.ParserConfigurationException

import org.w3c.dom.Attr

import org.w3c.dom.Document

import org.w3c.dom.Element

import org.w3c.dom.Text

public class Test {

public static void main(String[] args) {

DocumentBuilderFactory  fct=DocumentBuilderFactory.newInstance()

try {

DocumentBuilder bui=fct.newDocumentBuilder()

Document doc=bui.newDocument()

Element ps=doc.createElement("persons")

Element p1=doc.createElement("person")

Element p2=doc.createElement("person")

Attr id1=doc.createAttribute("id")

Attr id2=doc.createAttribute("id")

id1.setNodeValue("1")

id2.setNodeValue("2")

Element name1=doc.createElement("name")

Text na1=doc.createTextNode("龙大哥")

Element name2=doc.createElement("name")

Text na2=doc.createTextNode("龙大爷")

Element sex1=doc.createElement("sex")

Text se1=doc.createTextNode("帅哥")

Element sex2=doc.createElement("sex")

Text se2=doc.createTextNode("妹子")

doc.appendChild(ps)

ps.appendChild(p1)

p1.appendChild(name1)

p1.setAttributeNode(id1)

name1.appendChild(na1)

p1.appendChild(sex1)

sex1.appendChild(se1)

ps.appendChild(p2)

p2.appendChild(name2)

p2.setAttributeNode(id2)

name2.appendChild(na2)

p2.appendChild(sex2)

sex2.appendChild(se2)

try {

FileOutputStream fos=new FileOutputStream(new File("E:/longdada.xml"))

try {

((org.apache.crimson.tree.XmlDocument)doc)

.write(fos)

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

try {

fos.flush()

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

try {

fos.close()

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

} catch (FileNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

} catch (ParserConfigurationException e) {

// TODO Auto-generated catch block

e.printStackTrace()

}

}

}

附图:

这个例子有文本节点创建,属性的创建等等,基本上可以解决绝大多数XML内容了。无论你想创建什么类型的XML,可以套用里面的方法。

另外,注意:文件通过流创建的时候用到一个类,需要一个jar,这个类我已经用完整形式写出来了,你去网上下载下来,添加进工程即可。

弱国觉得可行,望采纳^_^

用下面的语句为创建新节点和为文本内容赋值.

   Element root=doc.getDocumentElement()

   Element bookElement= doc.createElement("Book")

   bookElement.setAttribute("num", "3")

   root.appendChild(bookElement)

   Element bookNameElement= doc.createElement("BookName")

   bookNameElement.setTextContent("鹿鼎记")

   root.appendChild(bookNameElement)


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

原文地址:https://54852.com/bake/11920452.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存