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


Автор: nIkTo 29.11.2009, 20:19
Собственно вот:
Цитата

<?xml version="1.0" encoding="utf-8" ?>
<?pageview_candidate?>
<SearchResponse xmlns="http://schemas.microsoft.com/LiveSearch/2008/04/XML/element" Version="2.2">
    <Query>
  <SearchTerms>Search String</SearchTerms>
    </Query>
    <web:Web xmlns:web="http://schemas.microsoft.com/LiveSearch/2008/04/XML/web">
  <web:Total>count</web:Total>
  <web:Offset>0</web:Offset>
  <web:Results><web:WebResult>
  <web:Title>title</web:Title>
  <web:Description>description</web:Description>
  <web:Url>url</web:Url>
  <web:CacheUrl>cache url</web:CacheUrl>
  <web:DisplayUrl>display url</web:DisplayUrl>
  <web:DateTime>time</web:DateTime>
  </web:WebResult><web:WebResult>
    </web:Web>
</SearchResponse>


Написать свою парсилку не составит особого труда, но не хочется тратить время на изобретение велосипеда ....
XML::Parser не дал результата

Автор: sir_nuf_nuf 29.11.2009, 20:41
Цитата(nIkTo @  29.11.2009,  20:19 Найти цитируемый пост)
XML::Parser 

Эту штуку стоит сипользовать только для очень больших XML.

этот судя по всему не очень большой.
Попробуйте  XML::LibXML::Simple
Или XML::Simple

Они работают просто задаете параметры, передаете XML, на выходе получаете perl структуру.

Автор: nIkTo 29.11.2009, 23:36
Выводит предупреждение, но парсинг выполняется, хотельсь бы понять и устранить это предупреждение ...

Код

      my $xml = XML::Simple->new();
      my $result = $xml->XMLin($content);


Цитата

could not find ParserDetails.ini in C:/Server/usr/Perl/site/lib/XML/SAX

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