Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2014.02.23;
Скачать: [xml.tar.bz2];

Вниз

получить значение нода в IXMLDOMNode   Найти похожие ветки 

 
delphistorm   (2013-04-23 17:36) [0]

Как вывести значение нода (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;


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

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


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


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


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

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


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

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


 
Den   (2013-04-24 04:44) [4]

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


 
sniknik ©   (2013-04-24 07:42) [5]

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


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

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


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


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

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

> NODE_ATTRIBUTE

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


 
Ega23 ©   (2013-04-26 13:51) [8]


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


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 14:10) [9]

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

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


 
Ega23 ©   (2013-04-26 14:21) [10]


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


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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2014.02.23;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.002 c
15-1378655580
Error-Code-0xDEADBEEF
2013-09-08 19:53
2014.02.23
Идея стартапа


15-1377606242
Пит
2013-08-27 16:24
2014.02.23
1c8: среда разработки


15-1378645854
localhost
2013-09-08 17:10
2014.02.23
InterBase XE3 или FireBird 2.5?


15-1378543685
Minsk
2013-09-07 12:48
2014.02.23
PL/I


2-1367219961
Евдоким
2013-04-29 11:19
2014.02.23
В потоке проверка MainForm.Enabled возвращает неверное значение.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский