Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> xpath вопросы, не получается использовать 
:(
    Опции темы
burakov
Дата 22.11.2011, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 554
Регистрация: 28.7.2006

Репутация: нет
Всего: нет



Добрый день, 
задался целью применить xpath на практике но не получается ,
то ли xpath не правильный, то ли модули не те...

задача:
мне нужно разобрать XML

я нашел модули
Код

    use XML::XPath;
    use XML::XPath::XMLParser;
    my $xp = XML::XPath->new(filename => $file1);
    
    my $nodeset = $xp->find ('/html/body/p'); # find all paragraphs
    
    foreach my $node ($nodeset->get_nodelist) {
        print "FOUND\n\n", 
            XML::XPath::XMLParser::as_string($node),
            "\n\n";
    }



конкретно эти модули отказались с XML работать и дали ошибку 
Couldn't open encmap windows-1251.enc
No such file or directores

наверное что то не доставилось, хотя ошибок при установке не было...

тогда я попробовал модуль для разбора html
Код

 use HTML::TreeBuilder::XPath;
 my $tree= HTML::TreeBuilder::XPath->new;
 $tree->parse_file( "mypage.html");
 my $nb=$tree->findvalue( '/html/body//p[@class="section_title"]/span[@class="nb"]');
 my $id=$tree->findvalue( '/html/body//p[@class="section_title"]/@id');


вроде бы ошибок не дает.... но и не черта не разбирает как я этого хочу , от есть что то находит, что то нет....

ВОПРОС:

1. Можно ли модулем предназначенным для разбора HTML файлов (HTML::TreeBuilder::XPath;) разбирать XML файлы (может это в принципе нельзя делать, а я мучаюсь не пойму почему выбирает не то, что я хочу)

2. Как все таки заставить работать модули
use XML::XPath;
use XML::XPath::XMLParser;
которые из названия своего вроде как предназначены для разбора XML

3. XML который я разбираю я приложил к теме.
Может быть кто нибудь покажет на конкретном примере 
как и чем (какими модулями) выдернуть к примеру <name>наименование акции</name>
из этого приложенного XML, чтобы стало все наглядно и понятно...

Спасибо.






Присоединённый файл ( Кол-во скачиваний: 1 )
Присоединённый файл  http_bestkupon.ru_admin_modules_xml_gen2.php_ref_id_13428 228,07 Kb


--------------------
Нотный архив http://libnote.ru скачать ноты бесплатно
PM MAIL   Вверх
tishaishii
Дата 23.11.2011, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Создатель
***


Профиль
Группа: Завсегдатай
Сообщений: 1262
Регистрация: 14.2.2006
Где: Москва

Репутация: нет
Всего: 8



Код
use XML::LibXML;

print $_->toString, "\n" foreach XML::LibXML->load_xml(IO=>\*DATA)->findnodes(<<'.');
/myxml
    //extra_possibilities[(
        (position() > 2)
    ) or (
        (@key="test")
    )]
.

__END__
<?xml version="1.0" encoding="utf-8"?>

<?xml-stylesheet href="template.xml" type="text/xml"?>

<myxml>
    <name>rgtgh</name>
    <email>ththth</email>
    <year_birth>
        <year>1988</year>
    </year_birth>
    <sex>male</sex>
    <col>2</col>
    <extra_p>
        <extra_possibilities key="test">immortality</extra_possibilities>
        <extra_possibilities>going_through_walls1</extra_possibilities>
        <extra_possibilities>going_through_walls2</extra_possibilities>
        <extra_possibilities>going_through_walls3</extra_possibilities>
    </extra_p>
    <biography>hth5rh4h</biography>
    <familiar>on</familiar>
</myxml>


Это сообщение отредактировал(а) tishaishii - 23.11.2011, 18:48
PM MAIL ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0387 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.