Jsoup получить элемент в значении = "" - PullRequest
11 голосов
/ 25 сентября 2011

Я хочу найти элемент "buddyname" и получить элемент value = "" в файле HTML, который я помещаю в StringBuffer, в данном случае 5342test.Элемент в значении = "" может измениться, поэтому я не могу напрямую искать 5342test.

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

Как я могу сделать это с помощью jsoup?или есть более простой способ, я уже пробовал Pattern / Matcher, но это не сработало, так как у меня были проблемы с 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);
        } 

1 Ответ

25 голосов
/ 25 сентября 2011

Просто используйте селектор атрибута [attrname=attrvalue].

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

Не используйте регулярные выражения для разбора HTML . Нет смысла, если у вас уже есть анализатор HTML мирового класса.

Смотри также:

...