JAVA XML DOM4J运用代码
来源:互联网 发布:子账号在淘宝哪里登陆 编辑:程序博客网 时间:2024/06/05 20:33
在使用之前请先下载DOM4J的jar包,并导入到java工程中。
DOM4J下载地址:http://pan.baidu.com/s/1miQ3CFm
修改节点
// 创建文件对象. File file = new File("write.xml"); // 创建字节输入流 FileInputStream fis = new FileInputStream(file); // 创建xml核心解析器。 SAXReader saxReader = new SAXReader(); // 使用核心解析器读取xml文件, Document xmlDocument = saxReader.read(fis); // 获取根节点名。 Element rootElement = xmlDocument.getRootElement(); String rootName = rootElement.getName(); System.out.println("该文件的根结点名:" + rootName); System.out.println("----------------------------------"); { // 创建节点 Element animalElement = DocumentHelper.createElement("animal"); // 给节点添加内容 animalElement.setText("cat"); // 在该节点下添加节点 rootElement.add(animalElement); } System.out.println("----------------------------------"); { // 在指定为创建节点 // 创建节点 Element animalElement = DocumentHelper.createElement("animal"); // 给节点添加内容 animalElement.setText("dog"); List<Element> listElement = rootElement.elements(); // 在0号位置创建节点 listElement.add(0, animalElement); // 因为listElement不是new出来的,所以操作listElent相当于操作rootElement即xmlDocument。 } System.out.println("----------------------------------"); // 创建字节输出流 FileOutputStream fos = new FileOutputStream(file); // 创建输出模式 // OutputFormat format = OutputFormat.createCompactFormat();//紧缩模式 OutputFormat format = OutputFormat.createPrettyPrint();// 优雅的分行模式。 // 用指定输出模式创建xml输出对象 XMLWriter xmlWriter = new XMLWriter(fos, format); // 向硬盘写出xml文件 xmlWriter.write(xmlDocument); xmlWriter.close(); System.out.println("xml修改完毕,并重写到该文件");
修改xml文件中的元素的内容和元素.
// 文件所在位置 String path = "write.xml"; // 创建文件对象 File file = new File(path); // 创建字节输入流 FileInputStream fis = new FileInputStream(file); // 创建xml核心解析器。 SAXReader saxReader = new SAXReader(); // 使用核心解析器读取xml文件, Document xmlDocument = saxReader.read(fis); // 获取根节点名。 Element rootElement = xmlDocument.getRootElement(); String rootName = rootElement.getName(); System.out.println("该文件的根结点名:" + rootName); // 修改指定节点。 Element pointElement = rootElement.element("book"); System.out.println(pointElement.getText()); // 修改属性 pointElement.addAttribute("id", "it2016"); // 没有的属性,会自动添加,有就修改。 // 修改内容 pointElement.setText("伊索寓言"); System.out.println("----------------------------------"); // 创建字节输出流 FileOutputStream fos = new FileOutputStream(file); // 创建输出模式 // OutputFormat format = OutputFormat.createCompactFormat();//紧缩模式 OutputFormat format = OutputFormat.createPrettyPrint();// 优雅的分行模式。 // 用指定输出模式创建xml输出对象 XMLWriter xmlWriter = new XMLWriter(fos, format); // 向硬盘写出xml文件 xmlWriter.write(xmlDocument); xmlWriter.close(); System.out.println("xml修改完毕,并重写到该文件");
xml核心解析器的运用,对xml文件的节点读取操作。
// 创建字节输入流, FileInputStream fis = new FileInputStream(new File("my.xml")); // 创建xml核心解析器。 SAXReader saxReader = new SAXReader(); // 使用核心解析器读取xml文件, Document xmlDocument = saxReader.read(fis); // 获取根节点名。 Element rootElement = xmlDocument.getRootElement(); String rootName = rootElement.getName(); System.out.println("该文件的根结点名:" + rootName); // 获取根节点下指定节点的内容。 {// 用花括号阔取这个区域,好释放掉变量,下面的代码才可以使用pointElement的变量。 Element pointElement = rootElement.element("book"); String pointText = pointElement.getText(); System.out.println("指定的节点的内容:" + pointText); } System.out.println("------------------------------------"); // 获取根节点下的指定节点的所有相同节点的内容。 {// 用花括号阔取这个区域,好释放掉变量,下面的代码才可以使用pointElements的变量。 List<Element> pointElements = rootElement.elements("book"); for (Element pointElement : pointElements) { String pointText = pointElement.getText(); System.out.println("指定的节点的所有内容:" + pointText); } } System.out.println("------------------------------------"); // 获取根节点下的所有节点内容 { List<Element> pointElements = rootElement.elements(); for (Element pointElement : pointElements) { String pointText = pointElement.getText(); System.out.println("所有同一级节点的内容:" + pointText); } } System.out.println("------------------------------------"); //跨层访问element Element element = rootElement.element("computer").element("name"); System.out.println("跨层访问element的内容:" + element.getText());
把xml语句写到硬盘中的xml文件中.
// xml语句 String str = "<bookStore><book>海底两万里</book></bookStore>"; // 从硬盘中读取xml文件 XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("new.xml"))); // 把xml文件写到硬盘中。 xmlWriter.write(DocumentHelper.parseText(str)); xmlWriter.close(); System.out.println("XML文件输出完毕");
// 向硬盘创建一个 xml文件.
// 在内存中创建一个xml文件 Document xmlDocument = DocumentHelper.createDocument(); XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(trgPath))); xmlWriter.write(xmlDocument); xmlWriter.close();
以下为完整代码
package cn.itcatst_01;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.util.List;import org.dom4j.Document;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 dom4j { public static void main(String[] args) throws Exception { // TODO Auto-generated method stub } // 修改节点. public static void Element() throws Exception { // 创建文件对象. File file = new File("write.xml"); // 创建字节输入流 FileInputStream fis = new FileInputStream(file); // 创建xml核心解析器。 SAXReader saxReader = new SAXReader(); // 使用核心解析器读取xml文件, Document xmlDocument = saxReader.read(fis); // 获取根节点名。 Element rootElement = xmlDocument.getRootElement(); String rootName = rootElement.getName(); System.out.println("该文件的根结点名:" + rootName); System.out.println("----------------------------------"); { // 创建节点 Element animalElement = DocumentHelper.createElement("animal"); // 给节点添加内容 animalElement.setText("cat"); // 在该节点下添加节点 rootElement.add(animalElement); } System.out.println("----------------------------------"); { // 在指定为创建节点 // 创建节点 Element animalElement = DocumentHelper.createElement("animal"); // 给节点添加内容 animalElement.setText("dog"); List<Element> listElement = rootElement.elements(); // 在0号位置创建节点 listElement.add(0, animalElement); // 因为listElement不是new出来的,所以操作listElent相当于操作rootElement即xmlDocument。 } System.out.println("----------------------------------"); // 创建字节输出流 FileOutputStream fos = new FileOutputStream(file); // 创建输出模式 // OutputFormat format = OutputFormat.createCompactFormat();//紧缩模式 OutputFormat format = OutputFormat.createPrettyPrint();// 优雅的分行模式。 // 用指定输出模式创建xml输出对象 XMLWriter xmlWriter = new XMLWriter(fos, format); // 向硬盘写出xml文件 xmlWriter.write(xmlDocument); xmlWriter.close(); System.out.println("xml修改完毕,并重写到该文件"); } // 修改xml文件中的元素的内容和元素. public static void writeElement() throws Exception { // 文件所在位置 String path = "write.xml"; // 创建文件对象 File file = new File(path); // 创建字节输入流 FileInputStream fis = new FileInputStream(file); // 创建xml核心解析器。 SAXReader saxReader = new SAXReader(); // 使用核心解析器读取xml文件, Document xmlDocument = saxReader.read(fis); // 获取根节点名。 Element rootElement = xmlDocument.getRootElement(); String rootName = rootElement.getName(); System.out.println("该文件的根结点名:" + rootName); // 修改指定节点。 Element pointElement = rootElement.element("book"); System.out.println(pointElement.getText()); // 修改属性 pointElement.addAttribute("id", "it2016"); // 没有的属性,会自动添加,有就修改。 // 修改内容 pointElement.setText("伊索寓言"); System.out.println("----------------------------------"); // 创建字节输出流 FileOutputStream fos = new FileOutputStream(file); // 创建输出模式 // OutputFormat format = OutputFormat.createCompactFormat();//紧缩模式 OutputFormat format = OutputFormat.createPrettyPrint();// 优雅的分行模式。 // 用指定输出模式创建xml输出对象 XMLWriter xmlWriter = new XMLWriter(fos, format); // 向硬盘写出xml文件 xmlWriter.write(xmlDocument); xmlWriter.close(); System.out.println("xml修改完毕,并重写到该文件"); } // xml核心解析器的运用,对xml文件的节点读取操作。 public static void readElement() throws Exception { // 创建字节输入流, FileInputStream fis = new FileInputStream(new File("my.xml")); // 创建xml核心解析器。 SAXReader saxReader = new SAXReader(); // 使用核心解析器读取xml文件, Document xmlDocument = saxReader.read(fis); // 获取根节点名。 Element rootElement = xmlDocument.getRootElement(); String rootName = rootElement.getName(); System.out.println("该文件的根结点名:" + rootName); // 获取根节点下指定节点的内容。 {// 用花括号阔取这个区域,好释放掉变量,下面的代码才可以使用pointElement的变量。 Element pointElement = rootElement.element("book"); String pointText = pointElement.getText(); System.out.println("指定的节点的内容:" + pointText); } System.out.println("------------------------------------"); // 获取根节点下的指定节点的所有相同节点的内容。 {// 用花括号阔取这个区域,好释放掉变量,下面的代码才可以使用pointElements的变量。 List<Element> pointElements = rootElement.elements("book"); for (Element pointElement : pointElements) { String pointText = pointElement.getText(); System.out.println("指定的节点的所有内容:" + pointText); } } System.out.println("------------------------------------"); // 获取根节点下的所有节点内容 { List<Element> pointElements = rootElement.elements(); for (Element pointElement : pointElements) { String pointText = pointElement.getText(); System.out.println("所有同一级节点的内容:" + pointText); } } System.out.println("------------------------------------"); //跨层访问element Element element = rootElement.element("computer").element("name"); System.out.println("跨层访问element的内容:" + element.getText()); } // 把xml语句写到硬盘中的xml文件中. public static void parseText() throws Exception { // xml语句 String str = "<bookStore><book>海底两万里</book></bookStore>"; // 从硬盘中读取xml文件 XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File("new.xml"))); // 把xml文件写到硬盘中。 xmlWriter.write(DocumentHelper.parseText(str)); xmlWriter.close(); System.out.println("XML文件输出完毕"); } // 向硬盘创建一个 xml文件. public static void createXML(String trgPath) throws Exception { // 在内存中创建一个xml文件 Document xmlDocument = DocumentHelper.createDocument(); XMLWriter xmlWriter = new XMLWriter(new FileOutputStream(new File(trgPath))); xmlWriter.write(xmlDocument); xmlWriter.close(); }}
0 0
- JAVA XML DOM4J运用代码
- JAVA XML Dom4j XPATH的运用
- 在java中使用dom4j解析xml(示例代码)
- 在java中使用dom4j解析xml(示例代码)
- 在java中使用dom4j解析xml(示例代码)
- java dom4j解析XML读取数据源配置的代码实例
- 在java中使用dom4j解析xml(示例代码)
- java+dom4j操作XML
- java读取xml Dom4j
- JAVA DOM4J解析XML
- java dom4j操作xml
- JAVA解析XML-DOM4J
- Java DOM4J读取XML
- java dom4j解析xml
- java dom4j操作xml
- java dom4j操作xml
- Java Dom4j解析 xml
- JAVA dom4j 解析xml
- 字符串反转、包含、全排列、最长回文子串
- 字符数组
- Spring-data-mongodb中@Document的重要性(解决Mongodb与redis共存时无法注入Repository)
- Qt利用setStyleSheet设置样式
- eclipse导入项目,项目名出现红叉的情况
- JAVA XML DOM4J运用代码
- Java——GC
- java中的强引用、软引用、弱引用、虚引用
- Hdu-2665 Kth number(主席树)
- JSON格式串以CSV格式保存
- Submit Text 快捷键总结
- JZOJ 4809. 挖金矿
- Codeforces Round #375 (Div. 2) A&B&C
- form提交数据的中文乱码问题