我使用Jsoup的parseBodyFragment
方法将Java字符串转换为Jsoup Document
对象:
String trElem = "<tr>"
+ " <td data-column-name='ID' style='display:none;'></td>"
+ " <td data-column-name='Name'><input type='text' value='Jones'></td>"
+ "</tr>" ;
Document doc = Jsoup.parseBodyFragment(trElem) ;
System.out.println ( "\nJsoup doc is " + doc + "\n" ) ;
然而,第一个&lt; td&gt; element被排除在Document
返回的parseBodyFragment
对象之外,如下所示(我System.out.println
的输出):
<html>
<head></head>
<body>
<input type="text" value="Jones" />
</body>
</html>
我的问题:如何在parseBodyFragment返回的对象中包含所有元素(包括display:none
和没有的元素?)
答案 0 :(得分:1)
Jsoup正试图规范化解析的html。在这种情况下,它没有看到任何标签,因此它完全忽略了&lt; tr&gt;和&lt; td&gt;标签。有两个选项
添加&lt; table&gt;&lt; / table&gt;标签
使用此Document doc = Jsoup.parse(trElem, "", Parser.xmlParser());