
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())
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)