Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

получить значение нода в IXMLDOMNode


delphistorm ©   (2013-04-23 17:36:00) 

Как вывести значение нода (nodeValue) в IXMLDOMNode? Что я делаю не так?


uses msxml;

{$R *.dfm}

const
 XMLText = '<nodes><node>1</node></nodes>';

procedure TForm1.FormCreate(Sender: TObject);
var
 XML: IXMLDOMDocument;
 I: Integer;
begin
 XML := CoDOMDocument.Create;

 if not XML.loadXML(XMLText) then
   raise Exception.Create(XML.parseError.reason);

 ShowMessage(XML.documentElement.childNodes[0].nodeName);

 ShowMessage(XML.documentElement.childNodes[0].nodeValue); // <- error - Could not convert variant of type (Null) into type (String)
end;


Ega23   (2013-04-26 14:21:00) [1]


> - никому нельзя верить...


Броневому можно  :)


han_malign   (2013-04-26 14:10:00) [2]

"Платон мне друг, Сократ мне друг, но истину следует предпочесть"(с)Лютер
http://letter.com.ua/phrase/index.php?id=521

- никому нельзя верить...


Ega23   (2013-04-26 13:51:00) [3]


> - "Платон мне друг, но истина дороже"(с)Сервантес...


http://cyclowiki.org/wiki/%D0%A1%D0%BE%D0%BA%D1%80%D0%B0%D1%82_%D0%BC%D0%BD%D0%B5_%D0%B4%D1%80%D1%83%D0%B3,_%D0%BD%D0%BE_%D0%B8%D1%81%D1%82%D0%B8%D0%BD%D0%B0_%D0%B4%D0%BE%D1%80%D0%BE%D0%B6%D0%B5


han_malign   (2013-04-26 13:49:00) [4]


> это о значении, оно не задано (причины х.з. по ошибке не понятно)

- не задано ( причины х.з. по ошибке не понятно) - это Unassigned, а Null вполне нормальное значение для узла у которого отсутствует атрибут "value"...

> NODE_ATTRIBUTE

- "Платон мне друг, но истина дороже"(с)Сервантес...


Медвежонок Пятачок   (2013-04-24 08:41:00) [5]

xNode := xml.selectSingleNode('/nodes/node');
if xNode <> nil then
case xNode.nodeType of
 NODE_ATTRIBUTE: ShowMessage(xNode.nodeValue);
 else ShowMessage(xNode.Text);
end;


sniknik   (2013-04-24 07:42:00) [6]

> Could not convert variant of type (Null) into type (String)
это о значении, оно не задано (причины х.з. по ошибке не понятно), используй функцию VarToStr.


Den   (2013-04-24 04:44:00) [7]

value у атрибутов только, там text есть


Медвежонок Пятачок   (2013-04-23 20:20:00) [8]

У того, чего тебе возвращается, нету nodeValue


delphistorm   (2013-04-23 17:48:00) [9]


> т.к. элемент "nodes" имеет значение null.


причем тут "nodes", я же явно указываю что мне нужно значения нода "node" XML.documentElement.childNodes[0].nodeValue.

XML.documentElement.childNodes[0].nodeName- Здесь ведь мне возвращается -"node"


Плохиш   (2013-04-23 17:40:00) [10]

Всё правильно пишет, т.к. элемент "nodes" имеет значение null.


Наверх

Титульная страница Поиск, карта сайта Написать письмо