XML操作
使用Dom4j操作xml文件
增加节点和信息:
增加节点时需要使用DocumentHelper.createDocument()
方法来创建一个新的xml文件,添加对应的属性后,使用XMLWriter
来创建一个硬盘
中真实存在的xml
文件,将创建好的信息写入文件中,记得**释放资源!!!**否则可能会存储不上
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;
import java.io.FileWriter;
import java.io.IOException;
public class AddBookXml {
public static void main(String[] args) throws IOException {
/**
* 创建新增工具
*/
Document rootdocument = DocumentHelper.createDocument();
Element books = rootdocument.addElement("books");
Element book1 = books.addElement("book");
book1.addAttribute("name", "西游记");
book1.setText("四大名著之一");
Element book2 = books.addElement("book");
book2.addAttribute("name", "曹雪芹");
book2.setText("四大名著之一");
//设置编码格式
// OutputFormat outputFormat= OutputFormat.createPrettyPrint();
// outputFormat.setEncoding("UTF-8");
// XMLWriter xmlWriter=new XMLWriter(new FileWriter("addBook.xml"),outputFormat);
//写入XML文件的位置 以及指定的格式
XMLWriter xmlWriter=new XMLWriter(new FileWriter("F:\\IdeaStudyJava\\Javafoundation\\Dom4j_Test\\src\\main\\java\\XMLTest\\XMLTest02\\addBook.xml"));
//开始写入XML文件 写入Document对象
xmlWriter.write(rootdocument);
xmlWriter.close();
}
}
删除节点:
删除节点时需要使用父类节点来删除子类节点。
package XMLTest.XMLTest02.DeleteBook;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.util.List;
public class DeleteBookTest {
public static void main(String[] args) throws DocumentException, IOException {
SAXReader sax = new SAXReader();
Document document = sax.read("F:\\IdeaStudyJava\\Javafoundation\\Dom4j_Test\\src\\main\\java\\XMLTest\\XMLTest02\\addBook.xml");
Element root = document.getRootElement();
List<Element> el = root.elements();
for (Element e : el) {
List<Attribute> att = e.attributes();
for (Attribute a : att) {
if (a.getValue().equals("曹雪芹"))
//调用父节点删除子节点
root.remove(e);
}
}
XMLWriter xmlWriter = new XMLWriter(new FileWriter("F:\\IdeaStudyJava\\Javafoundation\\Dom4j_Test\\src\\main\\java\\XMLTest\\XMLTest02\\addBook.xml"));
//开始写入XML文件 写入Document对象
xmlWriter.write(document);
xmlWriter.close();
}
}