当前位置: 首页 > news >正文

宁波网站建设多少钱/微信小程序官网

宁波网站建设多少钱,微信小程序官网,wordpress宝塔伪静态,广东东莞是几线城市一、DOM4j简介DOM4j是一个简单、灵活的开放源代码的库。DOM4j是由早期开发JDOM的人分离出来而后独立开发的。与JDOM不同的是,DOM4j使用接口和抽象类,虽然DOM4j的API相对要复杂一些,但它提供了比JDOM更好的灵活性。DOM4j是一个非常优秀的Java …

一、DOM4j简介

  DOM4j是一个简单、灵活的开放源代码的库。DOM4j是由早期开发JDOM的人分离出来而后独立开发的。与JDOM不同的是,DOM4j使用接口和抽象类,虽然DOM4j的API相对要复杂一些,但它提供了比JDOM更好的灵活性。

  DOM4j是一个非常优秀的Java XML API,具有性能优秀、功能强大和极易使用的特点。现在很多软件采用的是DOM4j,例如Hibernate。

  使用DOM4j开发,需要下载DOM4j相应的jar文件。


二、DOM4j获取作者的文本内容

book.xml

<?xml version="1.0" encoding="UTF-8"?>
<书架><书><书名>Javaweb开发实战</书名><作者>哈哈</作者><售价>1.01</售价><简介>垃圾</简介></书><书><书名>Java基础开发</书名><作者>呵呵</作者><售价>0.99</售价><简介>这非常不错</简介></书>
</书架>

DOM4j解析book.xml

package cn.dom4j;import java.util.List;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;public class DOM4jTest {public static void main(String[] args) throws Exception {run();}/*** 获取第二个作者的名字*/@SuppressWarnings("unchecked")public static void run() throws Exception {//获取解析器对象SAXReader reader = new SAXReader();//解析XML,获取DOcument对象Document document = reader.read("src/book.xml");//获取根节点--书架Element root = document.getRootElement();//获得书的节点,获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//获取作者的节点Element atutor2 = book2.element("作者");//获取文本内容String autor2Name = atutor2.getText();//输出文本的内容System.out.println("第二个作者是:"+autor2Name);}
}


三、在末尾添加节点

package cn.dom4j;import java.io.FileOutputStream;
import java.util.List;import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;public class DOM4jTest {public static void main(String[] args) throws Exception {add();}/*** 在第二本下添加节点*/@SuppressWarnings("unchecked")public static void add() throws Exception{//获取解析器对象SAXReader reader = new SAXReader();//解析XML,返回Document对象Document document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();//获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//可以直接在第二本书下添加子节点,设置文本内容book2.addElement("狗").addText("阿拉斯加神狗");//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book2.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 获取第二个作者的名字*/@SuppressWarnings("unchecked")public static void run() throws Exception {//获取解析器对象SAXReader reader = new SAXReader();//解析XML,获取DOcument对象Document document = reader.read("src/book.xml");//获取根节点--书架Element root = document.getRootElement();//获得书的节点,获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//获取作者的节点Element atutor2 = book2.element("作者");//获取文本内容String autor2Name = atutor2.getText();//输出文本的内容System.out.println("第二个作者是:"+autor2Name);}
}

book2.xml

<?xml version="1.0" encoding="UTF-8"?><书架> <书> <书名>Javaweb开发实战</书名>  <作者>哈哈</作者>  <售价>1.01</售价>  <简介>垃圾</简介> </书>  <书> <书名>Java基础开发</书名>  <作者>呵呵</作者>  <售价>0.99</售价>  <简介>这非常不错</简介>  <狗>阿拉斯加神狗</狗></书> 
</书架>


四、在指定的位置添加子节点

package cn.dom4j;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 DOM4jTest {public static void main(String[] args) throws Exception {addToSpecialPosition();}/*** 在指定的位置添加子节点* 在第二本的作者之前添加团购价的标签*/public static void addToSpecialPosition() throws Exception{ // 获取解析器对象SAXReader reader = new SAXReader();//解析XMLDocument document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();// 获取第二本书Element book2 = (Element) root.elements("书").get(1);//获取书下的所有子节点,返回List集合List<Element> list = book2.elements();//创建元素对象Element GroupPurchasePrice = DocumentHelper.createElement("团购价").addText("0.01");//list.add(int index,Element element)list.add(1, GroupPurchasePrice);//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book3.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 在第二本下添加节点*/@SuppressWarnings("unchecked")public static void add() throws Exception{//获取解析器对象SAXReader reader = new SAXReader();//解析XML,返回Document对象Document document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();//获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//可以直接在第二本书下添加子节点,设置文本内容book2.addElement("狗").addText("阿拉斯加神狗");//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book2.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 获取第二个作者的名字*/@SuppressWarnings("unchecked")public static void run() throws Exception {//获取解析器对象SAXReader reader = new SAXReader();//解析XML,获取DOcument对象Document document = reader.read("src/book.xml");//获取根节点--书架Element root = document.getRootElement();//获得书的节点,获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//获取作者的节点Element atutor2 = book2.element("作者");//获取文本内容String autor2Name = atutor2.getText();//输出文本的内容System.out.println("第二个作者是:"+autor2Name);}
}

book3.xml

<?xml version="1.0" encoding="UTF-8"?><书架> <书> <书名>Javaweb开发实战</书名>  <作者>哈哈</作者>  <售价>1.01</售价>  <简介>垃圾</简介> </书>  <书> <书名>Java基础开发</书名>  <团购价>0.01</团购价><作者>呵呵</作者>  <售价>0.99</售价>  <简介>这非常不错</简介> </书> 
</书架>


五、删除和修改文档

package cn.dom4j;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 DOM4jTest {public static void main(String[] args) throws Exception {deleteSpecialPosition();}/*** 删除子节点* 删除第二本下的团购价的标签*/public static void deleteSpecialPosition() throws Exception{// 获取解析器对象SAXReader reader = new SAXReader();//解析XMLDocument document = reader.read("src/book3.xml");//获取根节点Element root = document.getRootElement();// 获取第二本书Element book2 = (Element) root.elements("书").get(1);Element GroupPurchasePrice = book2.element("团购价");GroupPurchasePrice.getParent().remove(GroupPurchasePrice);//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book3.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 在指定的位置添加子节点* 在第二本的作者之前添加团购价的标签*/public static void addToSpecialPosition() throws Exception{ // 获取解析器对象SAXReader reader = new SAXReader();//解析XMLDocument document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();// 获取第二本书Element book2 = (Element) root.elements("书").get(1);//获取书下的所有子节点,返回List集合List<Element> list = book2.elements();//创建元素对象Element GroupPurchasePrice = DocumentHelper.createElement("团购价").addText("0.01");//list.add(int index,Element element)list.add(1, GroupPurchasePrice);//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book3.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 在第二本下添加节点*/@SuppressWarnings("unchecked")public static void add() throws Exception{//获取解析器对象SAXReader reader = new SAXReader();//解析XML,返回Document对象Document document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();//获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//可以直接在第二本书下添加子节点,设置文本内容book2.addElement("狗").addText("阿拉斯加神狗");//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book2.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 获取第二个作者的名字*/@SuppressWarnings("unchecked")public static void run() throws Exception {//获取解析器对象SAXReader reader = new SAXReader();//解析XML,获取DOcument对象Document document = reader.read("src/book.xml");//获取根节点--书架Element root = document.getRootElement();//获得书的节点,获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//获取作者的节点Element atutor2 = book2.element("作者");//获取文本内容String autor2Name = atutor2.getText();//输出文本的内容System.out.println("第二个作者是:"+autor2Name);}
}
package cn.dom4j;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 DOM4jTest {public static void main(String[] args) throws Exception {update();}/*** 修改文本内容*/public static void update()throws Exception{// 获取解析器对象SAXReader reader = new SAXReader();//解析XMLDocument document = reader.read("src/book2.xml");//获取根节点Element root = document.getRootElement();// 获取第二本书Element book2 = (Element) root.elements("书").get(1);//可以直接在第二本书下添加子节点,设置文本内容book2.element("狗").setText("二哈");//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book2.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 删除子节点* 删除第二本下的团购价的标签*/public static void deleteSpecialPosition() throws Exception{// 获取解析器对象SAXReader reader = new SAXReader();//解析XMLDocument document = reader.read("src/book3.xml");//获取根节点Element root = document.getRootElement();// 获取第二本书Element book2 = (Element) root.elements("书").get(1);Element GroupPurchasePrice = book2.element("团购价");GroupPurchasePrice.getParent().remove(GroupPurchasePrice);//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book3.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 在指定的位置添加子节点* 在第二本的作者之前添加团购价的标签*/public static void addToSpecialPosition() throws Exception{ // 获取解析器对象SAXReader reader = new SAXReader();//解析XMLDocument document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();// 获取第二本书Element book2 = (Element) root.elements("书").get(1);//获取书下的所有子节点,返回List集合List<Element> list = book2.elements();//创建元素对象Element GroupPurchasePrice = DocumentHelper.createElement("团购价").addText("0.01");//list.add(int index,Element element)list.add(1, GroupPurchasePrice);//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book3.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 在第二本下添加节点*/@SuppressWarnings("unchecked")public static void add() throws Exception{//获取解析器对象SAXReader reader = new SAXReader();//解析XML,返回Document对象Document document = reader.read("src/book.xml");//获取根节点Element root = document.getRootElement();//获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//可以直接在第二本书下添加子节点,设置文本内容book2.addElement("狗").addText("阿拉斯加神狗");//回写XMLWriter writer = new XMLWriter(new FileOutputStream("src/book2.xml"), OutputFormat.createPrettyPrint() );writer.write(document);writer.close();}/*** 获取第二个作者的名字*/@SuppressWarnings("unchecked")public static void run() throws Exception {//获取解析器对象SAXReader reader = new SAXReader();//解析XML,获取DOcument对象Document document = reader.read("src/book.xml");//获取根节点--书架Element root = document.getRootElement();//获得书的节点,获取第二本书List<Element> books = root.elements("书");Element book2 = books.get(1);//获取作者的节点Element atutor2 = book2.element("作者");//获取文本内容String autor2Name = atutor2.getText();//输出文本的内容System.out.println("第二个作者是:"+autor2Name);}
}


转载于:https://blog.51cto.com/11841428/1905320

相关文章: