Разбор XML-файлов с помощью регулярных выражений (Perl) - PullRequest
0 голосов
/ 30 июля 2010

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

Я сомневаюсь, как пропустить закомментированные строки в XMLфайл при синтаксическом анализе с помощью Perl.

Я хочу, чтобы Perl анализировал XML-файл, пропуская закомментированные строки.

Может кто-нибудь мне помочь, пожалуйста.

Спасибо Senthil.

Ответы [ 4 ]

4 голосов
/ 30 июля 2010

Как бы ни был плох этот вопрос для многих, многие ответы на него так же плохи: используйте парсер XML, вот почему, конец обсуждения.

Для меня весь смысл задать вопрос по stackoverflow - получить решение.Предоставили ли мы решение для ОП?Не совсем.

Более полный ответ предлагает несколько примеров того, как анализировать xml.Вот некоторые из них:

Можете ли вы привести пример парсинга HTML с вашим любимым парсером?

3 голосов
/ 30 июля 2010

Если ваша проблема заключается в компиляции библиотек XML, вы можете попробовать XML :: Parser :: Lite или XML :: Parser :: PurePerl , которые являются чистыми модулями perl, не требующими компиляции.

Или вы можете найти предварительно скомпилированные пакеты с библиотеками non-pure-perl. На какой ОС вы работаете?

2 голосов
/ 30 июля 2010

Пожалуйста, не анализируйте XML с помощью регулярных выражений , используйте вместо этого анализатор XML.

По крайней мере, вы можете написать простой синтаксический анализатор с конечным числом машин для обработки вашего XML.Это очень просто сделать.

1 голос
/ 30 июля 2010

Один из способов сделать это - удалить закомментированные строки перед анализом.

$string =~ s/<!--.*?-->//gs;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...