dom4j解析xml文件

#学习笔记
#仅代表个人理解,缺漏之处望评论交流

dom4j解析xml文件

首先引入dom4j的依赖:
依赖的版本可以自己去替换。

 <dependency>
          <groupId>dom4j</groupId>
          <artifactId>dom4j</artifactId>
          <version>1.6.1</version>
 </dependency>

我们需要xml文件加载进来,然后通过dom4j的SAXReader 对象从输入流中读取xml文件。

		//创建文件输入流,获取xml文件输入流对象
		FileInputStream fileInputStream = new FileInputStream("C:/Users/Desktop/demo1.xml");
		//创建SAXReader对象
        SAXReader reader = new SAXReader();
        //获取Document 对象
        Document document = reader.read(fileInputStream);
        //获取Element 对象
        Element rootElement = document.getRootElement();

Element 对象就是我们需要操作的对象了,这就是xml文件的根节点。比如下面这个xml文件结构。a标签就是xml文件的根节点,而b标签就是a标签的子标签,c是b的子标签。

<a  class = “123”>
	<b name = “456”></b>
	<b name = “789”></b>
</a>
<a>
	<b>
		<c></c>
	</b>
		<c></c>
	<b>
	</b>
</a>

下面我们开始迭代这个rootElement对象:

	 Iterator it = rootElement.elementIterator();
     while (it.hasNext()) {
            Element element = (Element) it.next();
     }

还以上面的xml文件为例,当我们迭代这个xml文件的时候,rootElement对象是根节点,所以迭代的时候会迭代两次,而这两次的结果就是这两个a标签。

如果我们要获取a标签的属性值,我们可以通过:

//获取a标签的calss属性对象
Attribute sheetAttribute = element.attribute("class");
//获取属性值
String classValeu = sheetAttribute.getValue();

如果我们要获取a标签的子节点b标签:

//获取当前标签的子标签
List<Element> elements = element.elements();

现在,我们就获取到a标签下的所有一级子标签了,我们可以通过循环遍历的方式来对子标签操作。获取属性,获取子标签,都是相同的操作方法。这样,我们就完成了对整个xml文件的操作了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值