使用java我可以将网页下载到txt文件中。现在我想通过正则表达式从这个txt文件中读取值。下面是真正的html的一小部分。
<div>
<input id="_NAME" value="/John/" />
<input id="_LASTNAME" value="/BOND/"/>
<input id="_Class" value="5" />
</div>
我只想根据id(_Name和_LASTNAME)读取值? 提前致谢
答案 0 :(得分:1)
只要HTML文件在浏览时可用,它就应该由Jsoup解析。由于您只查询input
元素的属性,因此您不必担心生成的DOM的结构。
示例代码,使用您的HTML示例,前面有一堆错误的HTML标记:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class SO27938637 {
public static void main(String[] args) {
Document doc = Jsoup.parse("<div><span><div><b>sdf</span>dsf<i>sdfdsfsdfds<span></div><div>\n <input id=\"_NAME\" value=\"/John/\" />\n <input id=\"_LASTNAME\" value=\"/BOND/\"/>\n <input id=\"_Class\" value=\"5\" /></div>");
Elements inputElement = doc.select("input");
for (Element e: inputElement) {
System.out.println(e.attr("id") + ": " + e.attr("value"));
}
}
}
输出:
_NAME: /John/
_LASTNAME: /BOND/
_Class: 5