2011-04-10 215 views
1

問候,問題與使用的Xalan XPATH(未關閉標籤)

我現在面臨一個問題,以下技術堆棧:JWebUnit的 - >的HtmlUnit - > Xalan的。 我試圖通過XPATH查找元素,但HTML文檔格式不正確。

Xalan在到達XPATH上的/body元素時停止查找元素。我相信這是因爲該文檔包含兩個<body>標籤,另一個未封閉。

一切適用於/html/head/html。但是,當我嘗試/html/body(或/html/body[1]//body[1]或這些標籤內的任何內容)時,我只能從Xalan中獲得空值。

有沒有辦法解決這個問題?我只是不能更改html文件istself。感謝您的關注。

最好的問候, 蒂亞戈

+0

奇怪!如果你可以運行這個'/ html' Xpath表達式,那麼也應該運行另一個。 – 2011-04-11 00:30:18

+0

我可以運行/ html表達式。任何時候它都會返回HTML元素。但是,當我嘗試任何表達式進一步html/body它自己失去並返回null。我相信這是因爲該文檔有兩個標籤,其中一個未封閉! – 2011-04-11 19:28:56

+0

您應該無法在格式不正確的樹上運行XPath查詢。 – 2011-04-11 19:38:46

回答

1

必須的HtmlUnit使用的東西HTML轉換成XML。也許你可以告訴它使用jsoup或tagsoup,這是非常容忍雜亂的HTML?

您也可以編寫代碼將XML樹轉儲到文件中,以便查看其中的內容。

+0

嗚嗚JSoup很有趣。不知道我是否可以告訴HtmlUnit在不修改/重建源代碼的情況下使用其他API。但我會看看!謝謝! – 2011-04-11 19:30:00