我正在尝试解析一些html来切换各种元素属性的值。我认为解析html最可靠的方法是使用xml解析器(msxml。)
问题是我正在尝试解析的html包含如下属性:
<param name="flashvars" value="autoplay=false&brand=embed&cid=97%2Ftest&locale=en_US"/>
导致xml解析器爆炸。我发现我需要server.htmlencode()
value
属性,以便xml解析器正确加载它。我该如何处理?
我觉得问题是一个恶性循环。我不能使用正则表达式,因为html不够常规,现在我不能使用xml解析器,因为html不是“格式良好”
帮助。我该如何处理这个问题?我希望能够使用vbscript更改属性值。
答案 0 :(得分:0)
您的HTML是否格式良好?如果是这样,您可以简单地使用XML DomDocument。使用XPath查找要替换的属性。
您实际上也可以在ASP中使用JScript服务器端,这可能会让您访问可以使用的HTMLDom库。
您应该查看其中一个用于清理HTML的库,例如HTML Tidy http://www.w3.org/People/Raggett/tidy/
你的主要问题是你需要在&符号上进行替换,它们需要在格式良好的XML / XHTML中&
。