XML文档解析

博客介绍了XML文件解析,提到解析时需导包使用,还指出目前使用XML的情况相对较少,大多使用JSON。此外,还介绍了通过XPath进行查询,可通过元素和属性查找内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解析xml文件    

导包使用!!!!

 用的不是太多,大多都在用json

  

 

@Test


        public void test01() throws Exception {

//测试 xml文档的解析,使用dom4j

/**

* 1、导入dom4j的jar

* 2、创建解析器对象

* 3、使用解析器将xml文档加载到内存中转成document对象

* 4、通过文档对象获取文档的根节点

* 5、通过根标签获取所有的子标签

* 6.解析子标签集合

*/

SAXReader reader = new SAXReader();

Document document = reader.read("teachers.xml");//jar包放在项目路径下,相对路径会在项目下查找对应的资源

//System.out.println(document);

Element rootElement = document.getRootElement();

//rootElement.elementByID(arg0);//根据子标签的id获取子标签

List<Element> elements = rootElement.elements();

for (Element element : elements) {

System.out.println("标签名:"+element.getName());

System.out.println("id属性值:"+element.attributeValue("id"));

//获取正在遍历的子标签内的内容

Element nameEle = element.element("name");//获取内部的name子标签

System.out.println("name子标签的文本:"+nameEle.getText());

Element genderEle = element.element("gender");//获取内部的name子标签

System.out.println("gender子标签的文本:"+genderEle.getText());

Element ageEle = element.element("age");//获取内部的name子标签

System.out.println("age子标签的文本:"+ageEle.getText());


System.out.println("=====================================================");

}

}

 

 

Xpath查询,通过元素和属性查找

 

 

//如果解析文档指定路径下的某个标签,可以使用dom4j+xPath


//需要导入两个jar包: dom4j.jar + 它的依赖包 jaxen.jar[支持xpath路径语法的jar包]

@Test

public void test02() throws Exception {

//创建解析器对象

SAXReader saxReader = new SAXReader();

//通过解析器将文档读取到内存中转为document对象

Document document = saxReader.read("src/girlteachers.xml");

//System.out.println(document);

//通过xPath语法 快速查找id=9527 老师的name 值

//xpath路径: //teacher[@id='9527']/name

//dom4j document对象提供了支持xpath路径的方法: select

Element nameEle = (Element) document.selectSingleNode("//teacher[@id='9527']/name");

System.out.println("name:"+ nameEle.getText());

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@程序员小袁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值