如何使用 java 正则表达式过滤 html 文件内容?
How can I filter html file content with java regular expressions?
有了java我可以下载一个网页到txt中file.Now我想通过常规expression.The从这个txt文件中读取值expression.The下面是真正的一小部分html.
<div>
<input id="_NAME" value="/John/" />
<input id="_LASTNAME" value="/BOND/"/>
<input id="_Class" value="5" />
</div>
我只想根据id(_Name和_LASTNAME)读取值?
提前致谢
只要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
有了java我可以下载一个网页到txt中file.Now我想通过常规expression.The从这个txt文件中读取值expression.The下面是真正的一小部分html.
<div>
<input id="_NAME" value="/John/" />
<input id="_LASTNAME" value="/BOND/"/>
<input id="_Class" value="5" />
</div>
我只想根据id(_Name和_LASTNAME)读取值? 提前致谢
只要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