dom4j解析xml文件

一、导包,编写bean类和测试类

二、编码测试,通过dom4j生成bean对象

books.xml

<?xml version="1.0" encoding="UTF-8"?>
<books><book sn="SN12341232"><name>辟邪剑谱</name><price>9.9</price><author>班主任</author></book><book sn="SN12341231"><name>葵花宝典</name><price>99.99</price><author>班长</author></book>
</books>

Book.java

package com.shungen.pojo;/*** @author wangshungen* @version 1.0* @description: TODO* @date 2021/12/20 17:40*/
public class Book {private String sn;private String name;private Double price;private String author;public Book() {}public Book(String sn, String name, Double price, String author) {this.sn = sn;this.name = name;this.price = price;this.author = author;}@Overridepublic String toString() {return "Book{" +"sn='" + sn + '\'' +", name='" + name + '\'' +", price=" + price +", author='" + author + '\'' +'}';}public String getSn() {return sn;}public void setSn(String sn) {this.sn = sn;}public String getName() {return name;}public void setName(String name) {this.name = name;}public Double getPrice() {return price;}public void setPrice(Double price) {this.price = price;}public String getAuthor() {return author;}public void setAuthor(String author) {this.author = author;}
}

测试类

package com.shungen.pojo;import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.junit.Test;
import org.xml.sax.SAXException;import java.util.List;/*** @author wangshungen* @version 1.0* @description: TODO* @date 2021/12/20 17:44*/
public class Dom4jTest {public static void main(String[] args) {}@Testpublic void test01() throws SAXException, DocumentException {//SAXReader saxReader = new SAXReader();Document document = saxReader.read("src/books.xml");System.out.println(document);}/*** 读取books.xml文件,生成Book类*/@Testpublic void test02() throws DocumentException {//1、通过SAXReader解析器(SAXReader流对象---<这个说法我不知道是不是正确的,但其中肯定涉及到流对象>)读取book.xml文件,并通过read方法获取Document对象SAXReader saxReader = new SAXReader();Document document = saxReader.read("src/books.xml");//2、通过Document对象获取根元素(Element对象)Element rootElement = document.getRootElement();
//       System.out.println(rootElement);//3、通过根元素获取book标签对象List<Element> books = rootElement.elements("book");//4、遍历,处理每个Book标签转换为Book对象for(Element book:books){/*            //(1)asXML()把标签对象(Element对象)转换为标签字符串
//            System.out.println(book.asXML());Element nameElement = book.element("name");
//            System.out.println(nameElement.asXML());//(2)getText() 可以获取标签里面的内容String nameText = nameElement.getText();System.out.println(nameText);//获取book下name标签里面的内容*///所以,综上,先获取所有的子标签和属性String nameText = book.elementText("name");String priceText = book.elementText("price");String authorText = book.elementText("author");//elementText()直接获取调用者的标签值String snText = book.attributeValue("sn");System.out.println(new Book(snText,nameText,Double.parseDouble(priceText),authorText));}}
}

一、dom4j技术--使用dom4j解析xml文件相关推荐

  1. XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 查找校验xml文件中相同的节点属性值 java遍历文件夹解析XML

    XML解析 (JAVA解析xml文件)java+Dom4j+Xpath xml文件解析根据子节点得到父节点 以及查找xml文件中相同的节点属性值 项目背景:这是本人实习中所碰到的项目,当时感觉很棘手, ...

  2. Java解析xml文件dom4j篇(基于xml配置文件完成Excel数据的导入、导出功能完整实现)

    DOM4J解析XML文件 dom4j是一个Java的XML API,是jdom的升级产品,用来读写XML文件.另外对比其他API读写XML文件,dom4j是一个十分优秀的JavaXML API,具有性 ...

  3. java dom xml 换行,dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件...

    网友求助:dom4j解析xml文件_用DOM解析XML文件,怎么才能让解析出来的文本不用换行_dom解析xml文件 问题importjava.text.SimpleDateFormat; import ...

  4. 使用dom4j解析XML文件

    为什么80%的码农都做不了架构师?>>>    dom4j是一个java 的XML API,用来读写XML文件. 使用dom4j解析XML文件,首先需要在官网下载dom4j-1.6. ...

  5. 使用jdk DOM,SAX和第三方jar包DOM4J创建,解析xml文件

    xml的创建,解析 1. 什么是xml文件 1.1 什么是xml文件 1.2 解析xml的方式,优缺点 2. 使用dom操作xml文件 2.1 使用dom创建xml文件 2.2 使用dom解析xml文 ...

  6. dom4j创建、解析xml文件(增删改查)

    先对xml文件进行解析,xml文件如下图所示 <?xml version="1.0" encoding="UTF-8"?> <?eclipse ...

  7. Dom4j解析Xml文件,Dom4j创建Xml文件

    Dom4j解析Xml文件,Dom4j创建Xml文件 >>>>>>>>>>>>>>>>>>&g ...

  8. 服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document

    服务器解析xml文件报错:org.dom4j.DocumentException: Error on line -1 of document  : Premature end of file. Nes ...

  9. 使用dom4j来解析xml文件或xml字符串

    现有一个配置文件,需要解析出根节点与子节点,还有子节点下属性的信息.虽然w3c.dom规范亦可以解析,但这儿我们尝试使用dom4j的方式来解析. 涉及到的jar包有dom4j-1.6.1.jar xm ...

最新文章

  1. CUDA support is required (OpenCV CMake parameter ‘WITH_CUDA‘ must be true).
  2. iOS-如何返回某个字符串的拼音助记码
  3. html5设置视频显示第一帧,如何检测HTML5视频何时播放第一帧?
  4. 打乱数组排序的算法shuffle
  5. 黑鲨游戏手机2 Pro跑分曝光:搭载骁龙855 Plus实锤
  6. Android通过tcpdump抓包
  7. 最全JavaScript基础总结~建议收藏
  8. Google面试题——蓄水问题
  9. SharePoint2010人员搜索
  10. 【译】Serverless Jenkins with Jenkins X
  11. PHP 过滤字符串特殊符号
  12. 拼多多|后端开发工程师|一面| 远程牛客面试 | 凉经 (2021/08/14)
  13. 文献翻译__基于自适应全变差L1正则化的椒盐图像去噪
  14. 地震观测仪器的历史和发展趋势(一)
  15. 什么是WMS系统,有什么功能?
  16. 未解Bug-邮箱字母莫名变成大写,导致修改密码时密码不一致
  17. 决策树---红酒分类
  18. 有没有人拼团csdn学习会员~~
  19. 数字化时代,企业应该如何看待商业智能BI
  20. RVIZ 的菜单背景变成黑色

热门文章

  1. Linux ubuntu 关机命令
  2. oracle存储过程报无效的列索引的错误
  3. 502 Bad Gateway出现的原因以及解决思路
  4. oracle命令导入expdp,Oracle expdp/impdp导出导入命令及数据库备份
  5. windows10的PHP环境变量
  6. 惊呆!有了这些设备,程序员秒变黄金圣斗士!
  7. 怎样把照片中的头像扶正_抖音账号名称,头像,个人签名设置的重要性
  8. 旧手机很卡该如何清理才能变得流畅一些?
  9. 车祸模拟器怎么慢动作_车祸
  10. 飞控教程基于模型的开发(across)