我想查看從HTMLCleaner獲得的清理過的HTML。 我看到在TagNode上有一個名爲serialize的方法,但不知道如何使用它。 有沒有人有任何示例代碼?從HtmlCleaner中獲取文本清理的HTML
由於 Nayn
我想查看從HTMLCleaner獲得的清理過的HTML。 我看到在TagNode上有一個名爲serialize的方法,但不知道如何使用它。 有沒有人有任何示例代碼?從HtmlCleaner中獲取文本清理的HTML
由於 Nayn
這裏的示例代碼:
HtmlCleaner htmlCleaner = new HtmlCleaner();
TagNode root = htmlCleaner.clean(url);
HtmlCleaner.getInnerHtml(root);
String html = "<" + root.getName() + ">" + htmlCleaner.getInnerHtml(root) + "</" + root.getName() + ">";
使用的org.htmlcleaner.XmlSerializer
一個子類,例如:
// get the element you want to serialize
HtmlCleaner cleaner = new HtmlCleaner();
TagNode rootTagNode = cleaner.clean(url);
// set up properties for the serializer (optional, see online docs)
CleanerProperties cleanerProperties = cleaner.getProperties();
cleanerProperties.setOmitXmlDeclaration(true);
// use the getAsString method on an XmlSerializer class
XmlSerializer xmlSerializer = new PrettyXmlSerializer(cleanerProperties);
String html = xmlSerializer.getAsString(rootTagNode);
XmlSerializer xmlSerializer = new PrettyXmlSerializer(cleanerProperties);
String html = xmlSerializer.getAsString(rootTagNode);
上述方法有一個問題,它將修剪html標籤中的內容,例如,
這是段落1。
will become
這是1款。
而且它是getSingleLineOfChildren
函數執行修剪操作。所以,如果我們從網站獲取數據並希望保持格式如tuckunder。
PS:如果一個HTML標籤有子標籤,父標籤contetn不會trimed,
例如<p> this is paragraph1. <a>www.xxxxx.com</a> </p>
將保持空白之前「這是1款」
其實,這個答案應該被接受的答案。此方法提供完整的HTML,而無需手動注入根節點。 – mmdemirbas