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 мирового класса в ваших руках.

Читайте также: