java xpath 解析xml_java结合XPATH解析XML

做自动化测试的人,都应该对XPATH很熟悉了,但是在用JAVA解析XML时,我们通常是一层层的遍历进去,这样的代码的局限性很大,也不方便,于是我们结合一下XPATH,来解决这个问题。

所需要的JAR包:

dom4j.jar

jaxen.jar

xmlbeans.jar

具体的代码如下:

public class ParseXml {

private String filePath;

private Document document;

public ParseXml(String filePath) {

this.filePath = filePath;

this.load(this.filePath);

}

private void load(String filePath){

File file = new File(filePath);

if (file.exists()) {

SAXReader saxReader = new SAXReader();

try {

document = saxReader.read(file);

} catch (DocumentException e) {

System.out.println("文件加载异常:" + filePath);

}

} else{

System.out.println("文件不存在 : " + filePath);

}

}

public Element getElementObject(String elementPath) {

return (Element) document.selectSingleNode(elementPath);

}

@SuppressWarnings("unchecked")

public List getElementObjects(String elementPath) {

return document.selectNodes(elementPath);

}

@SuppressWarnings("unchecked")

public Map getChildrenInfoByElement(Element element){

Map map = new HashMap();

List children = element.elements();

for (Element e : children) {

map.put(e.getName(), e.getText());

}

return map;

}

public boolean isExist(String elementPath){

boolean flag = false;

Element element = this.getElementObject(elementPath);

if(element != null) flag = true;

return flag;

}

public String getElementText(String elementPath) {

Element element = this.getElementObject(elementPath);

if(element != null){

return element.getText().trim();

}else{

return null;

}

}

public static void main(String[] args) {

ParseXml px = new ParseXml("config/TestBaidu.xml");

List elements = px.getElementObjects("/*/testUI");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值