Работа с пространствами имен в XML
16-11-2009 11:30
к комментариям - к полной версии
- понравилось!
Пространства имен в XML — это своего рода параллельное измерение. Есть вложенность тегов, есть атрибуты, а есть пространства имен, которые могут перенести фрагмент XML в другое пространство и даже сделать его таким образом невидимым для парсеров:
При работе с таким XML через XML::LibXML важно не забывать, что для того, чтобы добраться до узла с пространством имен, отличной от той, что используется во всем документе, требуется создать контекст, а затем уже с его помощью выбирать нужные узлы:
my $context = new XML::LibXML::XPathContext;
$context->registerNs('yablogs', 'urn:yandex-blogs');
my @codeNodes = $context->findnodes("yablogs:$nodeName/text()", $node);
Код использован в бою на сервисе рейтинга русских блогов.
вверх^
к полной версии
понравилось!
в evernote