Jsoup получить элемент в value=" "
Я хочу найти элемент "buddyname" и получить элемент value= "" в HTML-файле, который я помещаю в StringBuffer, в этом случае 5342test. Элемент в value= "" может измениться, поэтому я не могу напрямую искать 5342test.
<fieldset style="display:none"><input type="hidden" name="buddyname" value="5342test"/></fieldset>
как я могу сделать это с помощью jsoup? или есть более простой способ, я уже пробовал Pattern / Matcher, но это не сработало, поскольку у меня были проблемы с Pattern.compile("<input[^>]*?values*?=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);
}
1 ответов
просто используйте селектор атрибутов [attrname=attrvalue]
.
Element buddynameInput = document.select("input[name=buddyname]").first();
String buddyname = buddynameInput.attr("value");
// ...
не используйте регулярное выражение для разбора HTML. Это не имеет смысла, если у вас уже есть парсер HTML мирового класса в ваших руках.