Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi XML: Problem mit leeren Eintrag in XML-Datei (https://www.delphipraxis.net/54663-xml-problem-mit-leeren-eintrag-xml-datei.html)

Helmi 9. Okt 2005 11:48


XML: Problem mit leeren Eintrag in XML-Datei
 
Hallo,

ich als Anfänger in Sachen XML hätt da mal eine bescheidene Frage:

Ich frag mit:
Delphi-Quellcode:
var
  Caption_Text   : String;
  XML_Node       : IXMLNode;

begin
{...}

Caption_Text := XML_Node.ChildNodes['Caption'].NodeValue;
den Wert eines Eintrages raus und schreib ihn auf die String-Variable "Caption_Text".

Nun hab ich aber das Problem, dass der Eintrag leer ist, er also keinen String enthält.
(Das kann bei mir vorkommen).

Wenn ich also nun starte kommt folgende Fehlermeldung:
Zitat:


---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt Project1.exe ist eine Exception der Klasse EVariantTypeCastError aufgetreten. Meldung: 'Variante des Typs (Null) konnte nicht in Typ (String) konvertiert werden'. Prozess wurde angehalten. Mit Einzelne Anweisung oder Start fortsetzen.
---------------------------
OK Hilfe
---------------------------
Wie kann ich abfragen, ob dieser Eintrag nichts enthält, damit ich die Fehlermeldung nicht mehr erhalte?

marabu 9. Okt 2005 12:07

Re: XML: Problem mit leeren Eintrag in XML-Datei
 
Hallo Helmi,

ist ja eigentlich kein XML-Problem:

Delphi-Quellcode:
var
  ov: OleVariant;
begin
  ov := XML_Node.ChildNodes['Caption'];
  if VarIsNull(ov)
    then Caption_Text := ''
    else Caption_Text := ov.NodeValue;
end;
Grüße vom marabu

Helmi 9. Okt 2005 12:15

Re: XML: Problem mit leeren Eintrag in XML-Datei
 
oh danke!!

diese function kanne ich gar nicht

Helmi 9. Okt 2005 16:32

Re: XML: Problem mit leeren Eintrag in XML-Datei
 
Zitat:

Zitat von marabu
Hallo Helmi,

ist ja eigentlich kein XML-Problem:

Delphi-Quellcode:
var
  ov: OleVariant;
begin
  ov := XML_Node.ChildNodes['Caption'];
  if VarIsNull(ov)
    then Caption_Text := ''
    else Caption_Text := ov.NodeValue;
end;
Grüße vom marabu

müsst es nicht besser so heissen:
Delphi-Quellcode:
var
  ov: OleVariant;
begin
  ov := XML_Node.ChildNodes['Caption'].NodeValue;
  if VarIsNull(ov)
    then Caption_Text := ''
    else Caption_Text := ov;
end;

marabu 14. Okt 2005 06:19

Re: XML: Problem mit leeren Eintrag in XML-Datei
 
Hallo Helmi,

eigentlich hatte ich noch etwas ganz anderes schreiben wollen, aber ich bin manchmal etwas unkonzentriert:
Delphi-Quellcode:
var
  ov: OleVariant;
begin
  ov := XML_Node.ChildValues['Caption'];
  if VarIsNull(ov)
    then Caption_Text := ''
    else Caption_Text := ov;
end;
Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:20 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz