Intereting Posts
Как отключить собственное приложение facebook для входа в систему Как проверить подключение к Интернету в Android? 9-патч не работает Утилита Android SDK для установки в Docker не работает Android M FingerprintManager.isHardwareDetected () возвращает false на Samsung Galaxy S5 Как проверить андроид: alwaysRetainTaskState Как разрешить недопустимую подпись SHA1 при подписании приложения Android? Как я могу реализовать привязку SSL-сертификата при использовании React Native Объект AudioRecord не инициализируется в проекте Gcm сообщение через javascript SherlockFragmentActivity с несколькими перехватами ListFragments и SQLite Android: «onBackPressed» вызывается только с первой страницы веб-обозревателя Cordova 3, не может быть переопределен с внутренних страниц Android: Как получить текущий контекст приложения в AsyncTask? Cache.Entry не получает данные json Андроид expandablelistview, развернуть представление только по щелчку индикатора группы, открыть новую активность, если щелкнуть любое место, кроме группового указателя

Jsoup получает элемент в значении = ""

Я хочу найти элемент «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[^>]*?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); } 

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

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

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

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

  • Jsoup CSS селектор синтаксиса поваренная книга
  • Документация API Jsoup Selector