如何使用Dom4j对XML进行追加内容

如何使用Dom4j对XML进行追加内容,第1张

/**

* 利用dom4j进行xml文档的写入 *** 作

*/

public void createXml(File file) {

// XML 声明 <?xml version="1.0" encoding="UTF-8"?>自动添加到 XML文档中

// 使用DocumentHelper类创建文档实例(生成 XML文档节点的 dom4j API工厂类)

Document document = DocumentHelper.createDocument()

// 使用addElement()方法创建根元素 employees(用于向 XML 文档中增加元素)

Element root = document.addElement("employees")

// 在根元素中使用 addComment()方法添加注释"An XML Note"

root.addComment("An XML Note")

// 在根元素中使用 addProcessingInstruction()方法增加一个处理指令

root.addProcessingInstruction("target", "text")

// 在根元素中使用 addElement()方法增加employee元素。

Element empElem = root.addElement("employee")

// 使用 addAttribute()方法向employee元素添加id和name属性

empElem.addAttribute("id", "0001")

empElem.addAttribute("name", "wanglp")

// 向employee元素中添加sex元素

Element sexElem = empElem.addElement("sex")

// 使用setText()方法设置sex元素的文本

sexElem.setText("m")

// 在employee元素中增加age元素 并设置该元素的文本。

Element ageElem = empElem.addElement("age")

ageElem.setText("25")

// 在根元素中使用 addElement()方法增加employee元素。

Element emp2Elem = root.addElement("employee")

// 使用 addAttribute()方法向employee元素添加id和name属性

emp2Elem.addAttribute("id", "0002")

emp2Elem.addAttribute("name", "fox")

// 向employee元素中添加sex元素

Element sex2Elem = emp2Elem.addElement("sex")

// 使用setText()方法设置sex元素的文本

sex2Elem.setText("f")

// 在employee元素中增加age元素 并设置该元素的文本。

Element age2Elem = emp2Elem.addElement("age")

age2Elem.setText("24")

// 可以使用 addDocType()方法添加文档类型说明。

// document.addDocType("employees", null, "file://E:/Dtds/dom4j.dtd")

// 这样就向 XML 文档中增加文档类型说明:

// <!DOCTYPE employees SYSTEM "file://E:/Dtds/dom4j.dtd">

// 如果文档要使用文档类型定义(DTD)文档验证则必须有 Doctype。

try {

XMLWriter output = new XMLWriter(new FileWriter(file))

output.write(document)

output.close()

} catch (IOException e) {

System.out.println(e.getMessage())

}

}

这段源码里面包含了各种 *** 作

package com.yuls

import java.io.File

import java.io.FileWriter

import java.io.IOException

import java.io.Writer

import java.net.MalformedURLException

import java.util.List

import org.dom4j.Document

import org.dom4j.DocumentException

import org.dom4j.DocumentFactory

import org.dom4j.Element

import org.dom4j.InvalidXPathException

import org.dom4j.Node

import org.dom4j.Text

import org.dom4j.Visitor

import org.dom4j.XPath

import org.dom4j.io.SAXReader

import org.dom4j.io.XMLWriter

public class Test {

public static void main(String args[]){

DocumentFactory factory = DocumentFactory.getInstance()//singleton

Element root = factory.createElement("EW")

root.add(factory.createAttribute(root, "cmd", "login"))

root.add(factory.createAttribute(root, "mod", "Login"))

root.add(factory.createAttribute(root, "version", "6.0"))

Element source = factory.createElement("Source")

source.add(factory.createAttribute(source, "uns", ""))

source.add(factory.createAttribute(source, "type", "user"))

Element username = factory.createElement("Username")

username.add(factory.createText("panac@bw"))

Element password = factory.createElement("Password")

password.add(factory.createText("111111"))

Element version = factory.createElement("Version")

version.add(factory.createText("6.01.06.00"))

root.add(source)

root.add(username)

root.add(password)

root.add(version)

Document d = factory.createDocument(root)

File file = new File("text.xml")

FileWriter fw

try {

fw = new FileWriter(file)

XMLWriter output = new XMLWriter(fw)

output.write(d)

output.close()

} catch (IOException e) {

e.printStackTrace()

}

}

}

XML:

<?xml version="1.0" encoding="UTF-8"?>

<EW cmd="login" mod="Login" version="6.0">

<Source uns="" type="user"/>

<Username>panac@bw</Username>

<Password>111111</Password>

<Version>6.01.06.00</Version>

</EW>


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

原文地址: https://outofmemory.cn/bake/11831721.html

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

发表评论

登录后才能评论

评论列表(0条)

保存