Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> узнать значение атрибута xml 
:(
    Опции темы
gonzales
Дата 2.4.2013, 13:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



Доброе время суток!

Помогите плиз, запутался совсем.
Имеется xml 
Код

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:app="http://www.w3.org/2007/app" xmlns:f="yandex:fotki">
    <id>urn:yandex:fotki:omybook:albums</id>
    <author>
        <name>omybook</name>
        <f:uid>154718402</f:uid>
    </author>
    <title>omybook на Яндекс.Фотках</title>
    <updated>2013-04-01T08:46:54Z</updated>
    <link href="http://api-fotki.yandex.ru/api/users/omybook/albums/" rel="self"/>
    <link href="http://fotki.yandex.ru/users/omybook/albums/" rel="alternate"/>
    <entry>
        <id>urn:yandex:fotki:omybook:album:334786</id>
        <author>
            <name>omybook</name>
            <f:uid>154718402</f:uid>
        </author>
        <title>полисть</title>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334786/" rel="self"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334786/" rel="edit"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334786/photos/" rel="photos"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/photo/785453/" rel="cover"/>
        <f:img height="75" href="http://img-fotki.yandex.ru/get/4133/154718402.0/0_bfc2d_25387ca9_XXS" size="XXS" width="75"/>
        <f:img height="113" href="http://img-fotki.yandex.ru/get/4133/154718402.0/0_bfc2d_25387ca9_S" size="S" width="150"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334786/photos.ymapsml/" rel="ymapsml"/>
        <link href="http://fotki.yandex.ru/users/omybook/album/334786/" rel="alternate"/>
        <published>2013-04-01T08:45:40Z</published>
        <app:edited>2013-04-01T08:46:54Z</app:edited>
        <updated>2013-04-01T08:46:54Z</updated>
        <f:protected value="false"/>
        <f:image-count value="3"/>
    </entry>
    <entry>
        <id>urn:yandex:fotki:omybook:album:334784</id>
        <author>
            <name>omybook</name>
            <f:uid>154718402</f:uid>
        </author>
        <title>Неразобранное</title>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334784/" rel="self"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334784/" rel="edit"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334784/photos/" rel="photos"/>
        <link href="http://api-fotki.yandex.ru/api/users/omybook/album/334784/photos.ymapsml/" rel="ymapsml"/>
        <link href="http://fotki.yandex.ru/users/omybook/album/334784/" rel="alternate"/>
        <published>2013-04-01T08:43:50Z</published>
        <app:edited>2013-04-01T08:44:24Z</app:edited>
        <updated>2013-04-01T08:44:24Z</updated>
        <f:protected value="false"/>
        <f:image-count value="0"/>
    </entry>
</feed>


Необходимо счтитать атрибут value из ноды f:image-count

Загвоздка в том, что эта нода из другого пространства имен.
Не могу найти инфу, как с этим пространством имен работать

Не очень понятна даже матчать
Например делаю так
Код

showmessage(XMLDocument1.XML.Text);
node:=XMLDocument1.ChildNodes.Nodes['feed'].ChildNodes.Nodes['entry'].ChildNodes.Nodes['f:image-count'];
showmessage(node.XML);

Первый мессадж показывает полный xml файл
Второй показывает 
Код

<f:image-count xmlns:f="yandex:fotki"/>

уже без атрибутов

Никакие GetAttribute, GetAttributeNS не помогают.

 smile 



--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
gonzales
Дата 2.4.2013, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



мдя, охренеть можно

работает только путем перебора всех нод
Код

XMLDocument1.ChildNodes.Nodes['feed'].ChildNodes.Nodes['entry'].DeclareNamespace('f','yandex:fotki');
count:=XMLDocument1.ChildNodes.Nodes['feed'].ChildNodes.Nodes['entry'].ChildNodes.Count;
for i := 0 to count-1 do
  if XMLDocument1.ChildNodes.Nodes['feed'].ChildNodes.Nodes['entry'].ChildNodes.Nodes[i].NodeName='f:image-count' then
   s:=XMLDocument1.ChildNodes.Nodes['feed'].ChildNodes.Nodes['entry'].ChildNodes.Nodes[i].GetAttribute('value');
showmessage(s);


а вот так s:=XMLDocument1.ChildNodes.Nodes['feed'].ChildNodes.Nodes['entry'].ChildNodes.Nodes['f:image-count'].GetAttribute('value') 
выдает ошибку преобразования null в string

--------------------
- мастер, мастер, запорол..., все четыре запорол!!!- я ж тебе только три давал!!!???- да я и образец запорол!!!!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

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

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


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

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


 




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


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

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