博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2021-04-07
阅读量:3950 次
发布时间:2019-05-24

本文共 2008 字,大约阅读时间需要 6 分钟。

##关于xml的使用

两种解析方式
1.SAX
可以读取一行并解析一行,不会造成把内存的溢出。但是只能进行查询
2.DOM
可以一次性将整个xml文件进行加载进内存中,但是容易内存溢出,造成文件的丢失。可以进行增加以及删除

步骤:

一:dom4j的使用
1.创建SAXreader对象
SAXReader reader = new SAXReader();

2.传入xml值,用document进行接受

Document document = reader.read(new File(“src/xml/demo.xml”));

3.得到根元素 ,即是stus --> stu

Element rootElement = document.getRootElement();

4.获取元素,有两种,

一种是获取一个,另一种创建集合,将获取的根元素传入进集合中
rootElement.element 获取子元素

4.1

System.out.println(rootElement.element(“stu”).element(“age”).getStringValue());

public static void main(String[] args) {

try {		//1.创建sax读取对象		SAXReader reader = new SAXReader();				//2.传入输入流 即是:解析xml文件		Document document =  reader.read(new File("src/xml/demo.xml"));				//3.得到根元素		Element rootElement = document.getRootElement();				//得到根元素		//System.out.println(rootElement.element("stu").getName());		//rootElement.element    获取子元素			//获得特定的根元素的子元素的子元素		//System.out.println(rootElement.element("stu").element("age").getStringValue());				//rootElement.elements  返回值类型为集合list 获取根元素下面的所有的子元素		//即使 stus --> stu 元素				List
elements = rootElement.elements(); for (Element element : elements) { //得到所有的stu元素 //System.out.println(element.getName()); String name = element.element("name").getText(); String age = element.element("age").getText(); System.out.println(name + age); } } catch (Exception e) { e.printStackTrace(); }}

Xpath的使用

//
selectSingNote() --Node(Element)
node 的级别太高了 用element作为对象
selectNodes() --List

public static void main(String[] args) {

try {
//1.创建sax对象啊
SAXReader reader = new SAXReader();
//2.传入xml文件
Document document = reader.read(new File(“src/xml/demo.xml”));
//3.得到根元素
Element rootElement = document.getRootElement();

//获取单个元素	Element nameElement= (Element) rootElement.selectSingleNode("//name");		//传入的是元素 ,要进行强转	System.out.println(nameElement.getText());		//获取文档中的所有的元素	List
list= rootElement.selectNodes("//name"); for (Element element : list) { System.out.println(element.getText()); }} catch (Exception e) { e.printStackTrace();}}

转载地址:http://idgwi.baihongyu.com/

你可能感兴趣的文章
公平锁与非公平锁
查看>>
QL的四种连接-左外连接、右外连接、内连接、全连接
查看>>
常见加密算法
查看>>
Java遍历Map对象的四种方式
查看>>
scala学习之安装问题
查看>>
linux之shell倒引号,单引号,双引号,dirname,basename使用
查看>>
linux之shell文件路径切分,${str:a:b}用法
查看>>
Linux下如何查看版本信息
查看>>
LDAP常见错误码
查看>>
linux yum安装rpm包出现问题
查看>>
idea编译报错类似xxx.java:[85,65] 错误: 找不到符号
查看>>
ArrayList复制
查看>>
idea打开项目时,文件左下角显示橙色J
查看>>
SQL注入
查看>>
linux中ldconfig的使用介绍
查看>>
项目中常说的提供一个接口供某某调用,与java代码中接口的区别
查看>>
idea快捷键使用
查看>>
File 类的 getPath()、getAbsolutePath()、getCanonicalPath() 的区别
查看>>
Linux中zip压缩和unzip解压缩命令详解
查看>>
ldap适合入门学习
查看>>