Jsoup获取元素值=“”

我想在一个HTML文件中find元素“buddyname”,并获取value =“”的元素,我把它放到一个StringBuffer中,在这种情况下是5342test。 value =“”中的元素可以改变,所以我不能直接search5342test。

<fieldset style="display:none"><input type="hidden" name="buddyname" value="5342test"/></fieldset> 

我怎样才能做到这一点与jsoup? 或者是有一个更简单的方法,我已经尝试过模式/匹配,但没有解决,因为我有问题的Pattern.compile("<input[^>]*?value\\s*?=\\s*?\\\"(.*?)\\\")");

下面是一些示例代码。 先谢谢你。

 Document doc = Jsoup.parse(page); // page is a StringBuffer Elements td = doc.select("fieldset"); for (Element td : tds) { String tdText = td.text(); System.out.println(tdText); } 

Solutions Collecting From Web of "Jsoup获取元素值=“”"

只需使用属性select器[attrname=attrvalue]

 Element buddynameInput = document.select("input[name=buddyname]").first(); String buddyname = buddynameInput.attr("value"); // ... 

不要使用正则expression式来parsingHTML 。 如果您已经拥有世界级的HTMLparsing器,那就没有任何意义了。

也可以看看:

  • Jsoup CSSselect器语法食谱
  • Jsoup Selector API文档