java中使用DOM插入节点问题

java中使用DOM插入节点问题,第1张

import java.io.*

import java.util.*

import javax.xml.parsers.DocumentBuilderFactory

import javax.xml.parsers.DocumentBuilder

import javax.xml.transform.OutputKeys

import javax.xml.transform.TransformerFactory

import javax.xml.transform.Transformer

import javax.xml.transform.dom.DOMSource

import javax.xml.transform.stream.StreamResult

import org.w3c.dom.Document

import org.w3c.dom.Element

import org.w3c.dom.NodeList

public Document loadXml(File file)

{

try

{

dbf=DocumentBuilderFactory.newInstance()

db=dbf.newDocumentBuilder()

doc=db.parse(file)

}

catch(Exception e)

{

e.printStackTrace()

}

return doc

}

public void appendXmlData(File file,String title,String[] options)

{

if(doc==null)

{

doc=loadXml(file)

}

try

{

Element root=doc.getDocumentElement()

Element vote=doc.createElement("vote")

root.appendChild(vote)

vote.setAttribute("time", new Date().toLocaleString())

vote.setAttribute("id", String.valueOf(root.getElementsByTagName("vote").getLength()))

vote.setAttribute("sum", "0")

vote.setAttribute("title", title)

for(int i=0i<options.lengthi++)

{

Element option=doc.createElement("option")

vote.appendChild(option)

option.setAttribute("sum", "0")

option.setTextContent(options[i])

}

}

catch(Exception ex){

ex.printStackTrace()

}

try{

TransformerFactory tf=TransformerFactory.newInstance()

Transformer t=tf.newTransformer()

Properties props=t.getOutputProperties()

props.setProperty(OutputKeys.ENCODING, "gb2312")

t.setOutputProperties(props)

DOMSource dom=new DOMSource(doc)

StreamResult sr=new StreamResult(file)

t.transform(dom, sr)

}catch(Exception ex){

ex.printStackTrace()

}

}

根据传入的List<Deploy>deploies参数来配置多个person对象信息

结果是这样的:

<data>

<person id="1">

<email></email>

<password></password>

<pop3></pop3>

<smtp></smtp>

</person>

<person id="2">

<email></email>

<password></password>

<pop3></pop3>

<smtp></smtp>

</person>

<person id="3">

<email></email>

<password></password>

<pop3></pop3>

<smtp></smtp>

</person>

</data>

在java编程中,用dom4j的api来处理xml,很简单的,给段代码,需要导入dom4j.jar

Document doc = DocumentHelper.createDocument()

  //根节点

  Element rootEle=doc.addElement("root")

  Element ele1 = rootEle.addElement("ele1")

  ele1.addText("节点1")

  Element ele2 = rootEle.addElement("ele2")

  ele2.addText("节点2")

  System.out.println(doc.asXML())


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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存