有没有办法只搜索整个html文档中的文本而不用担心标签,类等?
答案 0 :(得分:2)
是的,就像这样:
//*[text()[contains(.,'keyword')]]
//text()[contains(.,'keyword')]/..
或者,如果您希望返回目标关键字所在的父元素,请使用以下XPath之一:
public static void main(String args[]) {
Observable.concat(getFromMemory(), getFromFileCache(), getFromNetwork())
.firstElement()
.subscribe((integer) ->
{
System.out.println("Completed with val: " + integer);
});
}
static Observable<Integer> getFromMemory() {
return Observable.create(e -> {
System.out.println("Source: Memory");
e.onNext(1);
e.onComplete();
});
}
static Observable<Integer> getFromFileCache() {
try {
Thread.sleep(1000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
return Observable.create(e -> {
System.out.println("Source: FileCache");
e.onNext(2);
e.onComplete();
});
}
static Observable<Integer> getFromNetwork() {
try {
Thread.sleep(2000);
}
catch (InterruptedException e) {
e.printStackTrace();
}
return Observable.create(e -> {
System.out.println("Source: Network");
e.onNext(3);
e.onComplete();
});
}
答案 1 :(得分:1)
这个XPath,
contains(/,'keyword')
如果keyword
包含在文档的字符串值中的任何位置,将返回true。
请注意,它可以匹配跨元素连接的子串(即<r>key<b>word</b></r>
),这可能是也可能不是。如果不受欢迎,请参阅@har07's answer(+1)。