华硕z270m plus评测:jxpath与xpath
来源:百度文库 编辑:偶看新闻 时间:2024/04/28 07:14:32
今天查翻自己的资料时,发现了一个jxpath的文档,就打开看看是什么?以前没有用过,经过一个上午的折腾,终于搞明白了,原来jxpath是让JAVA可以轻松取的对象了,或是集合了,等这些东西中的属性,不管这些属性多复杂,对jxpath都是很轻松的,还是举个例子吧,比如说有一个MAP对象,我想取到MAP的KEY值,就要先map.keySet(),取到一个SET的集合,要是想取VALUES就要mapSource.values(),取到后再一一进行操作,而jxpath可以让你很轻松的直接取到KEY中的对象,或是VALUES中的对象。以下只是其中一种操作,jxpath还可以对JAVA的所有的集合等进行操作。有需要例子和源代码的可以发邮件。
package com.jxpath;
import java.util.HashMap;
import java.util.Map;
public class MyMapSource {
private Map mapSource = new HashMap();
// 构造方法初始化一起数据
public MyMapSource() {
mapSource.put("id", new Integer(5));
mapSource.put("name", "name");
}
public Map getMapSource() {
return this.mapSource;
}
}
package com.jxpath;
import org.apache.commons.jxpath.JXPathContext;
public class JxpathMap {
public static void main(String[] args) {
// 实例化MyMapSource对象
MyMapSource myMapSource = new MyMapSource();
// 实例化JXPath上下文
JXPathContext context = JXPathContext.newContext(myMapSource);
// 通过JXPath访问Map对象的内容
// getValue方法的参数使用了XPath语法
// mapSource/id中的mapSource表示MyMapSource对象的属性,他是一个Map类型的对象,id表示获取该Map对象的id字段
Integer id = (Integer) context.getValue("mapSource/id");
System.out.println(id);
}
}
XPath是一个获取XML文档中你所需要的节点元素的组件。它允许你用很少的代码就能获取指定的路径下你所选取的节点的值。例如,你有一个类似下面的XML文档:
你可以用下面的代码来获取产品的种类
myXPathDocument.selectNodes("/products/product");
你也可以用这样的代码来获得所有产品中价格超过5美圆的产品:
myXPathDocument.selectNodes("/products/product[./price > 5]");
你也可以获取所有的 SKUs 就像这样:
myXPathDocument.selectNodes("/products/product/@sku");
XPath是一种非常完美的能够简单快捷而且效率高的读取XML文档的语言。