Jsoup工具类解析xml
2021/4/27 18:27:19
本文主要是介绍Jsoup工具类解析xml,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Jsoup的使用
入门案例
public class JsoupDemo { public static void main(String[] args) { //获取Document对象 //1.获取文件的路径,使用类的加载器 String path = JsoupDemo.class.getClassLoader().getResource("Student.xml").getPath(); //2.解析xml文档 获取到Document的树 Document document = null; try { document = Jsoup.parse(new File(path),"UTF-8"); } catch (IOException e) { e.printStackTrace(); } //获取元素 Element组成的一个集合Elements Elements elements = document.getElementsByTag("name"); //取出元素 Element element = elements.get(0); //取出文本数据 String text = element.text(); System.out.println(text); } }
Jsoup对象(工具类的使用)
- Jsoup工具类,可以解析xml,html文档,返回Document
1.parse()
方法,是用来解析xml,html文件的
parse(File in,String charsetName)
:解析xml或者html文件的,需要一个file对象
parse(String html)
:解析html或者xml文件的字符串,也就是html或xml的内容
parse(URl url,int timeoutMiilles)
:根据网络中的一个URL获取资源路径,timeoutMiilles
是一个超时时间
public class JsoupDemo { public static void main(String[] args) { URL url = null; try { url = new URL("https://www.oschina.net/p/jsoup?hmsr=aladdin1e1"); } catch (MalformedURLException e) { e.printStackTrace(); } Document parse = null; try { parse = Jsoup.parse(url, 10000); } catch (IOException e) { e.printStackTrace(); } //输出 System.out.println(parse); } }
2.Document:文档对象,代表内存中的dom树
getElementsByTag(String tagName)
:根据标签名称获取元素的集合
getElementsByAttribute(String key)
:根据属性的名称来获取元素的集合
getElementsByAttributeValue(String key,String value)
:根据对应的属性名和属性值来获取元素对象集合
getElementById(String id)
:根据id来获取指定的集合元素对象
3.Elements:元素Element的集合,可以当做ArrayList
4.Element:元素对象
1.获取子元素对象
getElementsByTag(String tagName)
:根据标签名称获取元素的集合
getElementsByAttribute(String key)
:根据属性的名称来获取元素的集合
getElementsByAttributeValue(String key,String value)
:根据对应的属性名和属性值来获取元素对象集合
getElementById(String id)
:根据id来获取指定的集合元素对象
2.获取属性值
String atter(String key)
:根据属性名称获取属性值
3.获取文本内容
String text()
:获取纯文本内容
String html()
:获取标签体的所以内容(包括子标签)
5.Node:节点对象 是Document和Elements的父类
快速的查询方式
1.根据选择器查询selector
Elements.selector(String cssQuery)
参考Selector的语法,也就是html中的选择器
2.XPath查询,w3c提供的一种快速查询的方式 XPath 是一门在 XML 文档中查找信息的语言。XPath 用于在 XML 文档中通过元素和属性进行导航
使用XPath需要导入一个jar包 jsoupXpath [https://www.w3school.com.cn/xpath/xpath_intro.asp][xpath的语句规则如下 ]
public class JsoupDemo { public static void main(String[] args) { //获取Document对象 //1.获取文件的路径,使用类的加载器 String path = JsoupDemo.class.getClassLoader().getResource("Student.xml").getPath(); //2.解析xml文档 获取到Document的树 Document document = null; try { document = Jsoup.parse(new File(path),"UTF-8"); } catch (IOException e) { e.printStackTrace(); } //获取元素 Element组成的一个集合Elements Elements elements = document.getElementsByTag("name"); //取出元素 Element element = elements.get(0); //取出文本数据 String text = element.text(); System.out.println(text); //根据Document对象创建jxDocument JXDocument jx = new JXDocument(elements); //结合xpath的语法进行查询 List<JXNode> jxNodes = jx.selN("//user"); System.out.println(jxNodes.get(0)); } }
这篇关于Jsoup工具类解析xml的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-13在three.js 中怎么实现线性代数的操作和运算?-icode9专业技术文章分享
- 2024-11-11JS数据类型项目实战:初学者必看指南
- 2024-11-11JS数组项目实战:从入门到实践
- 2024-11-11JS字符串项目实战:从入门到上手
- 2024-11-11JSON对象项目实战:从入门到应用
- 2024-11-11JS定时器项目实战:入门指南与案例详解
- 2024-11-11JS对象项目实战:从入门到应用
- 2024-11-11JS流程控制项目实战:轻松入门与进阶教程
- 2024-11-09Vue CLI多环境配置教程:一步一步轻松入门
- 2024-11-09Vue CLI教程:新手快速上手指南