Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > perl xml


Автор: mastercz 20.9.2009, 08:24
Добрый день.
Подскажите пожалуйста какой парсер лучше использовать (желательно с примером) или как можно иначе решить задачу.
Ситуация следующая. Относительно недавно возникла необходимость работы локальной базы с удаленной. 
В результате для моей локальной базы был предложен веб интерфейс основанный на гет запросах. Т.е. отсылаешь к такой то матери 
на определенный адрес гет запрос и получаешь XML ответ. После некоторых мучительных раздумий я принял решение использовать для чтения XML::Simlpe парсер. Уже написано с его использованием довольно много кода, однако возникла непреодолимая необходимость читать
еще конструкцию <? бла бла бла ?>  в которую удаленный сервер выкладывает ошибки (тут идет набор ненормативной лексики). Как я понимаю XML::Simlpe не умеет это делать делать. Хотелось бы заменить парсер на тот который умеет интерпретировать конструкцию <? бла бла бла ?> и при этом выдает данные XML в хэшь массив подобный XML::Simlpe.
Заранее благодарен за любую помощь и совет по данному вопросу.

P.S. Есть идея перед парсингом читать файл на предмет наличия конструкции <? бла бла бла?> и ее замены на какую-нить ветку в стиле
< Error бл бла бла /> но читать и писать один и тот же файл 2 раза кажется как-то некрасивым.

На всякий случай привожу пример XML-я:

Код

<root>
−
 <?MSSQLError
HResult="0x80040e14" Source="Microsoft OLE DB Provider for SQL Server" Description="Бла бла бла тут ошибка описана"
?>
<data dataid="111" data1="1"  data2="2820958" />
</root>

Автор: arto 20.9.2009, 10:49
perldoc XML::Parser

Автор: mastercz 20.9.2009, 11:02
arto, 
А можно пример, плз.

Автор: arto 20.9.2009, 11:23
в pеrldoc много примеров, как и в каталоге samples дистрибутива

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)