2010-02-08 88 views
1

我正在研究一個類似瀏覽器的應用程序,它從站點(任何網站)獲取HTML,然後在其上應用樣式腳本來更改某些元素(就像greasemonkey一樣)。操縱HTML文件

我最初的計劃是使用XPath和XmlDocument解析HTML,但有沒有更好的方法?

在此先感謝!

PS>方便的技巧,技巧&對HTML + C#鏈接將是巨大的〜^^

回答

5

HTML並不總是遵循XML規則,例如有HTML標籤,可能沒有結束標記,所以XPath和XDocument有時會拋出錯誤。 IE API讓你能夠做到這一點(見here),你也可以找到第三方解析器(請參閱thisthis

0

我會高度推薦使用XSLT。這使您可以將所有轉換數據保留在代碼之外,因此,如果要修改要轉換的HTML,或者想要更改佈局,可以很容易地更改它。

非常少,如果使用HTML而不使用XHTML,請注意可能的錯誤。不用說,使用Tidy庫可以幫助你克服這個問題。

0

我真的會推薦使用你的編程語言的選擇,處理所有的HTML解析的怪異包。我之前在Ruby中使用過Hpricot,這讓事情變得輕而易舉。

0

如果您希望能夠根據其內容瀏覽HTML,那麼XPath是一個不錯的選擇。但是你必須先清理HTML。您可以使用HTML tidy將HTML轉換爲XHTML。在這個過程中,你可以修改頁面的渲染方式。但它似乎是你的項目的目的,所以這不是什麼大不了的事情。