带有通配符的Jsoup选择器

时间:2014-08-08 19:19:31

标签: java css-selectors jsoup

我正在尝试使用JSoup从HTML文档中选择一些文本。

我感兴趣的HTML是表单的一部分:

<input type="text" name="key_12345" value="fizz" id="varz_key_12345" class="inline-edit-field">
<input type="text" name="key_28382" value="buzz" id="varz_key_28382" class="inline-edit-field">
<input type="text" name="key_83838" value="foo" id="varz_key_83838" class="inline-edit-field">
<input type="text" name="key_98383" value="bar" id="doekfeokf" class="inline-edit-field">
<input type="text" name="key_19283" value="widget" id="vars_key_19283" class="inline-edit-field">
...etc.

我有兴趣获取<input>属性以id开头的任何varz_key_元素。因此,在上面的示例中,我对除了第4个以外的所有输入感兴趣,因为它的ID不以varz_key_开头。

我能想到的最好的是:

Document doc = Jsoup.parse(getHtml());
Elements planVarInputs = doc.select("input[id^=\"varz_key_\"]");
log.info("planVarInputs's size is ${planVarInputs.size()}");
for(Element input : planVarInputs) {
    System.out.println(input.ownText());
}

但这给了我以下输出:

  

planVarInputs的大小为0

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为你不需要jsoup的引用。 http://jsoup.org/cookbook/extracting-data/selector-syntax