2015-05-05 56 views
1

使用多種技術解析和遍歷HTML4文件有很多種方法。但我找不到合適的一個將該DOM再次保存到文件。如何在不修改其內容的情況下加載和解析HTML

我希望能夠將HTML文件加載到DOM中,更改一個小東西(例如屬性的值),將DOM再次保存到文件中,並且在區分源文件和創建的文件時,我希望它們能夠完全相同,除了小的變化。

這種類型的任務在處理XML和合適的XML庫時絕對沒有問題,但涉及到HTML時會遇到以下幾個問題:縮進或換行符等空白會丟失或插入,自閉合起始標記例如<link...>)出現爲<link.../>和/或CDATA部分的內容(例如在<script></script>之間)包含在<![CDATA[]]>中。這些事情對我來說是至關重要的。

我可以在沒有上述缺點的情況下加載,遍歷,操作和保存HTML,哪種方法最重要,最重要的是不用更改空白文本節點?

+0

目前正在開發(或在過去幾年中開發)的許多網站都使用HTML5。您是否只關注HTML5,或者您是否想要處理HTML4,XHTML和/或微格式? – devstruck

+1

如果「小改動」確實是一個小改動,爲什麼不把文件讀到一個字符串變量中,用你的語言提供的字符串替換函數或/和正則表達式。 – tiblu

+2

@tiblu根據這裏的要求,使用DOM解析器(在Z中包含的第3個Y元素上查找屬性X)的東西可能是標準字符串/正則表達式函數的絕對噩夢 –

回答

0

comparison

如果你想獲得真正嚴重離開了GUI,去無頭,SO例如與Phantom

+0

我會給Phantom一個鏡頭。我喜歡使用Web瀏覽器的DOM實現的想法。我希望它提供了足夠的選項,以保留空白等。 – Andre

+0

原來它不提供保留空白等選項 – Andre

+0

恥辱,我會看看如果我可以找到更多,ps繼續發佈更新好奇,因爲我可能不得不做類似 – saj

相關問題