2011-03-18 83 views
0

我想解析一些html來切換出各種元素屬性的值。我決定來解析HTML最可靠的方法是使用XML解析器如何編寫使用經典的asp和vbscript格式良好的html格式?

的問題是,我試圖解析HTML包含類似屬性(MSXML):

<param name="flashvars" value="autoplay=false&amp;brand=embed&amp;cid=97%2Ftest&amp;locale=en_US"/> 

導致xml解析器炸燬。我發現我需要server.htmlencode()value屬性才能讓xml解析器正確加載它。我如何解決這個問題?

我覺得問題是一個惡性循環。我不能使用正則表達式的,因爲HTML不夠規律,現在我不能使用XML解析器,因爲HTML不是「格式良好」

幫助。我如何處理這個問題?我希望能夠用vbscript更改屬性值。

+0

您需要詳細說明。您是在ASP服務器端頁面構建這個html字符串,然後將其呈現給用戶?或者它已經發送給用戶,並且您正試圖在客戶端修改它? – Dee 2011-03-19 22:30:32

回答

0

您的HTML格式是否正確?如果是這樣,你可以簡單地使用XML DomDocument。使用XPath查找要替換的屬性。

您實際上也可以在ASP中使用JScript服務器,這樣可以讓您訪問可以使用的HTMLDom庫。

你或許應該看看的圖書館之一清理HTML,像HTML整潔http://www.w3.org/People/Raggett/tidy/

你的主要問題是你需要做的&號一個替代,他們需要&amp;井形成了XML/XHTML。

+0

你可以發佈你的'&'替換解決方案,所以我可以接受這個答案嗎?我試圖刪除這個問題,但由於它已經有了答案,我無法完成。 – quakkels 2011-03-21 17:09:18

+0

那會行嗎?很高興聽到你有一些成功! – 2011-03-21 20:36:35

+0

是的...你的&符號建議做到了。 – quakkels 2011-03-24 16:19:05