Как мне написать скрипт html, который плохо сформирован, чтобы быть хорошо сформированным, используя классические asp и vbscript? - PullRequest
0 голосов
/ 19 марта 2011

Я пытаюсь разобрать html, чтобы отключить значения различных атрибутов элемента.Я решил, что самый надежный способ анализа html - это использование синтаксического анализатора xml (msxml.)

. Проблема в том, что html, который я пытаюсь проанализировать, содержит атрибут, такой как:

<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 не «правильно сформирован»

help.Как мне подойти к этому вопросу?Я хочу иметь возможность изменять значения атрибутов с помощью VBScript.

1 Ответ

0 голосов
/ 19 марта 2011

Ваш HTML хорошо сформирован?Если это так, вы можете просто использовать XML DomDocument.Используйте XPath, чтобы найти атрибуты, которые вы хотите заменить.

На самом деле вы можете использовать серверную часть JScript и в ASP, что может дать вам доступ к библиотекам HTMLDom, которые вы можете использовать.

Возможно, вы должны иметьвзгляните на одну из библиотек для очистки HTML, что-то вроде HTML Tidy http://www.w3.org/People/Raggett/tidy/

Ваша главная проблема - вам нужно заменить амперсанды, они должны быть &amp; в правильно сформированном XML/ XHTML.

...