本篇文章为大家展示了利用dom4j如何实现操作xml文件中的demo,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。废话不多说,直接上代码package com.cn.shop.util;import
本篇文章为大家展示了利用dom4j如何实现操作xml文件中的demo,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
废话不多说,直接上代码
package com.cn.shop.util;import java.io.File;import java.io.FileOutputStream;import java.io.OutputStreamWriter;import java.util.Iterator;import java.util.List;import org.dom4j.Attribute;import org.dom4j.Document;import org.dom4j.DocumentException;import org.dom4j.DocumentHelper;import org.dom4j.Element;import org.dom4j.io.OutputFORMat;import org.dom4j.io.SAXReader;import org.dom4j.io.XMLWriter;public class XmlUtils {public static Document getDocument() {// 1.读取xml文件获取document对象SAXReader reader = new SAXReader();Document document = null;try {document = reader.read("D:\\itext\\27663.xml");} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}// 2.通过解析xml的文本return document;}public static void anaXml() throws Exception {// 读取xml的文本内容来创建document对象SAXReader reader = new SAXReader();try {Document document = reader.read("D:\\itext\\27663.xml");Element root = document.getRootElement();System.out.println(root.getName());getElement(root);} catch (DocumentException e) {// TODO Auto-generated catch blocke.printStackTrace();}}public static void getElement(Element root) {// 获取当前节点的所有属性节点List<Attribute> as = root.attributes();for (Attribute a : as) {System.out.println("当前属性节点的名称:" + a.getName());}if (!root.getTextTrim().equals("")) {System.out.println("文本内容::::" + root.getText());}Iterator<Element> el = root.elementIterator();while (el.hasNext()) {// 获取某个子节点对象Element e = el.next();// 对子节点进行遍历getElement(e);}}public static void elementMethod(Element node) {// 获取node节点中,子节点的元素名称为西游记的元素节点。Element e = node.element("info");// 获取西游记元素节点中,子节点为chapter的元素节点(可以看到只能获取第一个作者元素节点)Element author = e.element("classification");System.out.println(e.getName() + "----" + author.getText());// 获取西游记这个元素节点 中,所有子节点名称为classification元素的节点 。List<Element> authors = e.elements("classification");for (Element aut : authors) {System.out.println(aut.getText());}// 获取西游记这个元素节点 所有元素的子节点。List<Element> elements = e.elements();for (Element el : elements) {System.out.println(el.getText());}}public static void writer(Document document) throws Exception {// 紧凑的格式// OutputFormat format = OutputFormat.createCompactFormat();// 排版缩进的格式OutputFormat format = OutputFormat.createPrettyPrint();// 设置编码format.setEncoding("UTF-8");// 创建XMLWriter对象,指定了写出文件及编码格式File file = new File("c://index//大主宰.xml");FileOutputStream fos = new FileOutputStream(file);OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");XMLWriter writer = new XMLWriter(osw);// 写入writer.write(document);// 立即写入writer.flush();// 关闭操作writer.close();}// 以下的代码为字符串与xml互转实例public void test() throws Exception {// 创建saxreader对象SAXReader reader = new SAXReader();// 读取一个文件,把这个文件转换成Document对象Document document = reader.read(new File("src//c.xml"));// 获取根元素Element root = document.getRootElement();// 把文档转换字符串String docXmlText = document.asXML();System.out.println(docXmlText);System.out.println("---------------------------");// csdn元素标签根转换的内容String rootXmlText = root.asXML();System.out.println(rootXmlText);System.out.println("---------------------------");// 获取java元素标签 内的内容Element e = root.element("java");System.out.println(e.asXML());}public void test2() throws Exception {Document document = DocumentHelper.createDocument();// 创建根节点Element root = document.addElement("csdn");Element java = root.addElement("java");java.setText("java班");Element iOS = root.addElement("ios");ios.setText("ios班");writer(document);}public void test1() throws Exception {String text = "<csdn><java>Java班</java><net>Net班</net></csdn>";Document document = DocumentHelper.parseText(text);Element e = document.getRootElement();System.out.println(e.getName());writer(document);}public void writer1(Document document) throws Exception {// 紧凑的格式// OutputFormat format = OutputFormat.createCompactFormat();// 排版缩进的格式OutputFormat format = OutputFormat.createPrettyPrint();// 设置编码format.setEncoding("UTF-8");// 创建XMLWriter对象,指定了写出文件及编码格式// XMLWriter writer = new XMLWriter(new FileWriter(new// File("src//a.xml")),format);XMLWriter writer = new XMLWriter(new OutputStreamWriter(new FileOutputStream(new File("src//c.xml")), "UTF-8"),format);// 写入writer.write(document);// 立即写入writer.flush();// 关闭操作writer.close();}public static void main(String[] args) {try {anaXml();} catch (Exception e) {// TODO Auto-generated catch blocke.printStackTrace();}}}
--结束END--
本文标题: 利用dom4j如何实现操作xml文件中的demo
本文链接: https://lsjlt.com/news/225919.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0