![](/img/trans.png)
[英]<input values missing when parsing html with Jsoup?
[英]JSOUP missing tag when converting html row
我有 jsoup 的問題,我想獲取一行數據,稍后我將把該行插入到另一個 html 文檔中。 但是當我檢查時發現沒有和標簽。 我該如何解決
String htmlcontent = "<tr><td colspan=\"2\"><div class=\"content-wrapper\"><p><strong><span class=\"CLASS 1 CLASS 2 CLASS 3\">123</span></strong><br /><strong>DATA 1</strong></p></td><td></td><td></td><td></td><td></td></tr>";
Document docnewinput = Jsoup.parse(htmlcontent, "UTF-8");
[<html>
<head></head>
<body>
<div class="content-wrapper">
<p><strong><span class="CLASS 1 CLASS 2 CLASS 3">123</span></strong><br><strong>DATA 1</strong></p>
</div>
</body>
</html>]
您有一個要解析的正文片段 HTML(例如,一個包含幾個 p 標簽的 div;與完整的 HTML 文檔相反)。
使用Jsoup.parseBodyFragment(String html)
方法。
String html = "<table><tr><td colspan=\"2\"><div class=\"content-wrapper\"><p><strong><span class=\"CLASS 1 CLASS 2 CLASS 3\">123</span></strong><br /><strong>DATA 1</strong></p></td><td></td><td></td><td></td><td></td></tr></table>";
Document doc = Jsoup.parseBodyFragment(html);
parseBodyFragment
方法創建一個空的 shell 文檔,並將解析后的 HTML 插入到 body 元素中。 如果您使用普通的Jsoup.parse(String html)
方法,通常會得到相同的結果,但將輸入顯式視為正文片段可確保將用戶提供的任何 bozo HTML 解析為正文元素。
解析器將盡一切努力從您提供的 HTML 創建一個干凈的解析,無論 HTML 是否格式正確。 它處理:未閉合標簽(eg <p>Lorem <p>Ipsum parses to <p>Lorem</p> <p>Ipsum</p>)
隱式標簽(eg a naked <td>Table data</td> is wrapped into a <table><tr><td>...)
可靠地創建文檔結構(包含頭部和正文的 html,並且頭部中只有適當的元素)
編輯:
通過使用 Jsoup.parse():
String html = "<table><tr><td colspan=\"2\"><div class=\"content-wrapper\"><p><strong><span class=\"CLASS 1 CLASS 2 CLASS 3\">123</span></strong><br /><strong>DATA 1</strong></p></td><td></td><td></td><td></td><td></td></tr></table>";
Document doc = Jsoup.parse(html);
需要使用 xmlParser() 以便它只讀取字符串而不格式化它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.