JavaSE_XML解析__DOM4j_解析原理01

一、下载并导入java4j-jar包

二、具体实现步骤

a) 定义类:获取XML解析器new SAXReader()

i. SXAReader reader = new SXAReader()

b) 获取XML文件(获得Document文档)   read(方法)

i. Document document = reader.read(new File(“地址”));

c) 获得XML文档的根节点的地址(即获得根元素)---获得的唯一一个使用 getRootElement()

i. Element elemrntRoot =  document.getRootElement();

ii. 方法:

1. 获得根元素的名字:elementRoot.getName();

d) 获得根元素的子元素的集合 elementRoot.Elements();----获得一个list<Element>集合

i. List<Element>  listElements = elementRoot.Elements();

e) 遍历这个子元素集合:for(Element e:listElements){}

i. For(Element e:listElements){} ------e:表示每个根元素的子元素

1. 获得子元素的值  e.attributeValue(“属性名”)

a) String id = e.attributeValue(“id”);

2. 获得子元素的属性 e.attrubuteText(“属性名”)

a) String name = e.elementText(“name”);

b) String age = e.elementText(“age”);

c) String addrsss = e.elementText(“address”);

3. 获取完毕

例子:

package com.lichao.java4j;

import java.io.File;

import java.util.List;

import org.dom4j.Document;

import org.dom4j.DocumentException;

import org.dom4j.Element;

import org.dom4j.io.SAXReader;

public class Java4jDome {

public static void main(String[] args) {

try {

//创建一个读取XML的解析器 SAXReader reader = new SAXReader();

SAXReader reader = new SAXReader();

//Document document = reader.read(new File("地址"));----和哪个XML文件关联并且获得该文档

Document document = reader.read(new File("D:\\WorkSpace\\Java4j\\student.XML"));

//获得该文档的根节点的元素的地址--Element elementRoot = document.getRootElement();

Element elementRoot =  document.getRootElement();

//获得根元素地址的名字  elementRoot.getName();

System.out.println(elementRoot.getName());

//获得根节点里的所有字节点返回一个list的集合

//List<Element> listElements =  elementRoot.elements();

List<Element> listElements =  elementRoot.elements();

for(Element element:listElements){

//获得这元素的值   String id = element.attributeValue();

String id = element.attributeValue("id");

System.out.println(id);

System.out.println(element.elementText("name"));

System.out.println(element.elementText("age"));

System.out.println(element.elementText("address"));

}

} catch (DocumentException e) {

e.printStackTrace();

}

}

}


  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值