demo4j+xpath(xml解析)

前言

XML是一种通用的数据交换格式,它的平台无关性、语言无关性、系统无关性、给数据集成与交互带来了极大的方便。XML在不同的语言环境中解析方式都是一样的,只不过实现的语法不同而已

Java中配置文件的三种配置位置及读取方式

通过解析获取到db.properties中的uname和upass的值
在这里插入图片描述
三种方式
1 src根目录下
Xxx.class.getResourceAsStream("/db.properties");
在这里插入图片描述
注:右键src->source folder->文件夹是物理分层
实现代码:
在这里插入图片描述
实现效果
在这里插入图片描述
2,与读取配置文件的类在同一包
Xxx.class.getResourceAsStream(“db.properties”);
实现代码:
在这里插入图片描述
效果:
在这里插入图片描述
3,WEB-INF(或其子目录下)
ServletContext application = this.getServletContext();
这里需要获取上下文,通过上下文在获取到文件
在这里插入图片描述
效果:
在这里插入图片描述

demo4j+xpath解析

通过demo4j+xpath获取到名字为小芳,id=s002的学生信息,然后在控制台进行打印
在这里插入图片描述
分析实现步骤:

  • 1,加载资源文件

  • 2,解析得到所有的student标签

  • 3,遍历得到每一个的标签xml内容

  • 4,判断该student的sid是否为s002

  • 5,如果是那么进一步解析该student标签下面的子标签name

  • 6,一并打印sid以及name值
    代码:在这里插入图片描述
    效果:
    在这里插入图片描述

    第二种方式:直接根据sid(/students/student[@sid=‘s002’])

    代码在这里插入图片描述
    效果:
    在这里插入图片描述

    总结

    .xml文件则是树状结构,结构更清晰,使用org.dom4j.io.SAXReader工具类进行解析
    今天就分享到这,具体方法可以去链接 查看https://blog.csdn.net/licmi/article/details/105449954.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JsoupXpath 是一款纯Java开发的使用xpath解析html的解析器,xpath语法分析与执行完全独立,html的DOM树生成借助Jsoup,故命名为JsoupXpath.为了在java里也享受xpath的强大与方便但又苦于找不到一款足够强大的xpath解析器,故开发了JsoupXpath。JsoupXpath的实现逻辑清晰,扩展方便,支持几乎全部常用的xpath语法.http://www.cnblogs.com/ 为例 "//a/@href"; "//div[@id='paging_block']/div/a[text()='Next >']/@href"; "//div[@id='paging_block']/div/a[text()*='Next']/@href"; "//h1/text()"; "//h1/allText()"; "//h1//text()"; "//div/a"; "//div[@id='post_list']/div[position()1000]/div/h3/allText()"; //轴支持 "//div[@id='post_list']/div[self::div/div/div/span[@class='article_view']/a/num()>1000]/div/h3/allText()"; "//div[@id='post_list']/div[2]/div/p/preceding-sibling::h3/allText()"; "//div[@id='post_list']/div[2]/div/p/preceding-sibling::h3/allText()|//div[@id='post_list']/div[1]/div/h3/allText()"; 在这里暂不列出框架间的对比了,但我相信,你们用了会发现JsoupXpath就是目前市面上最强大的的Xpath解析器。 快速开始 如果不方便使用maven,可以直接使用lib下的依赖包跑起来试试,如方便可直接使用如下dependency(已经上传至中央maven库,最新版本0.1.1):    cn.wanghaomiao    JsoupXpath    0.1.1 依赖配置好后,就可以使用如下例子进行体验了!String xpath="//div[@id='post_list']/div[./div/div/span[@class='article_view']/a/num()>1000]/div/h3/allText()";String doc = "..."; JXDocument jxDocument = new JXDocument(doc); List<Object> rs = jxDocument.sel(xpath); for (Object o:rs){     if (o instanceof Element){             int index = ((Element) o).siblingIndex();             System.out.println(index);     }     System.out.println(o.toString()); } 其他可以参考 cn.wanghaomiao.example包下的例子 语法 支持标准xpath语法(支持谓语嵌套),支持全部常用函数,支持全部常用轴,去掉了一些标准里面华而不实的函数和轴,下面会具体介绍。语法可以参考http://www.w3school.com.cn/xpath/index.asp 关于使用Xpath的一些注意事项 非常不建议直接粘贴Firefox或chrome里生成的Xpa
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值