如何解析Html并使用Java将结果作为字符串获取
我想解析Html并以字符串形式获取结果。 鉴于外部HTML的主体包含另一个Html字符串,我想要内部Html作为输出字符串。如何解析Html并使用Java将结果作为字符串获取
例子>输入HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head></head><body><p><!DOCTYPE html><br /><html><br /><body><br /><br /><h1>My First Heading</h1><br /><br /><p>My first paragraph.</p><br /><br /></body><br /></html><br /><br /></p></body></html>
输出字符串:
<!DOCTYPE html><html><body><h1>My First Heading</h1><p>My first paragraph.</p></body></html>
重要:我使用,其中,如果我输入的东西,它返回的HTML represantation该输入上的HTML编辑器做getText,上面的第一个Html字符串只是表示。
而且输出字符串应该是一样的,当我在这里(http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic)运行的第一个字符串
请帮助我。
我会去一些正则表达式:
(<!DOCTYPE html>).*(<html>.*</html>).+
而且考虑第1组和第2组,
tst = tst.replaceAll("<", "<").replaceAll(">",">");
Pattern p = Pattern.compile("(<!DOCTYPE html>).*(<html>.*</html>).*</html>.*");
Matcher m = p.matcher(tst);
m.find();
System.out.println(m.group(1) + m.group(2));
我刚刚编辑了我的问题。 现在,如果您尝试第一条语句(http://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic_document) ,那么您将得到类似于第二条语句的内容。 我需要那样的东西。 其实我正在使用一个HTML编辑器,其中如果我输入了一些东西,它会返回该输入在执行getText时的HTML represantation。我想解析它并获取原始内容。 – saurabh 2015-03-25 11:42:30
只需在应用正则表达式之前替换char:tst = tst.replaceAll(“<”,“”);我编辑了响应和示例运行。 – Vyncent 2015-03-25 11:48:02
有趣的问题。 – 2015-03-25 13:33:24