一. java中配置文件的三种配置位置及读取方式
1.1 同包路径下
获取同包下的配置文件,将其转换为流对象。
将该对象加载到工具类中。
1.2 根目录下
在Java Reasources下的文件夹下
1.3 WEB-INF安全路径下
二. dem4j的使用
dom4j介绍
dom4j的项目地址:http://sourceforge.net/projects/dom4j/?source=directory
dom4j是一个简单的开源库,用于处理XML、 XPath和XSLT,它基于Java平台,使用Java的集合框架,全面集成了DOM,SAX和JAXP。
这里案例使用的是SAXreader。
2.1 selectNodes 获取标签
List selectNodes = read.selectNodes(“/students/student”);
2.2 selectSingleNode 获取单个标签
Element single = (Element) stuEle.selectSingleNode(“name”);
2.3 getText 获取文本内容
String text = single.getText();
2.4 attributeValue 获取标签的属性值
String attributeValue = stuEle.attributeValue(“sid”);
** 示例xml文件**
<?xml version="1.0" encoding="UTF-8"?> <students> <student sid="s001"> <name>小明</name> </student> <student sid="s002"> <name>小芳</name> </student> <student sid='s003'> <name>小王</name> </student> </students>
三. xpath的使用
XPath(全称:XML Path Language)即 XML 路径语言,它是一门在 XML 文档中查找信息的语言,最初被用来搜寻 XML 文档,同时它也适用于搜索 HTML 文档。因此,在爬虫过程中可以使用 XPath 来提取相应的数据。
案例: 同样的用到上面的students.xml,通过sid=s002查找到对应的姓名
这里是通过定位到配置文件的路径,根据属性拿到对应的名字。
xpath路径表达式
表达式 | 描述 |
node_name | 选取此节点的所有子节点。 |
/ | 绝对路径匹配,从根节点选取。 |
// | 相对路径匹配,从所有节点中查找当前选择的节点,包括子节点和后代节点,其第一个 / 表示根节点。 |
. | 选取当前节点。 |
… | 选取当前节点的父节点。 |
@ | 选取属性值,通过属性值选取数据。常用元素属性有 @id 、@name、@type、@class、@tittle、@href。 |