![]() |
TXMLDocument: Typ (Null) in Typ (String) konvertieren
Hallo,
ich bekomme folgende Fehlermeldung wenn ich versuche einen String einzulesen. Bei normalen Strings(also mit Inhalt) funktioniert dies, jedoch bei leeren Strings nicht. --------------------------- XMLTestProgramm --------------------------- Variante des Typs (Null) konnte nicht in Typ (String) konvertiert werden. --------------------------- OK --------------------------- Normal sieht es so aus:
XML-Code:
Bei leeren Strings so:
<User>Benutzer</User>
<Password>Password</Password>
XML-Code:
Und wenn versucht wird den User einzulesen kommt eben diese Fehlermeldung.
<User />
<Password>Password</Password> Wie mache ich jetzt, dass beim Speichern bei einem leeren String <User></User> anstatt <User /> eingetragen wird? :angel: |
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Wie liest du das ein über ein Art XML-DataSet? Dann muss du vorher auf .isNull prüfen
|
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Naja mit der TXMLDocument Komponente :gruebel:
Und ein IsNull kann ich da nicht finden :oops: BTW: Wir brauchen noch diesen Smilie in der DP: ![]() |
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Wie liest du aus?
|
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Zitat:
|
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Delphi-Quellcode:
Und so schreib ich:
procedure TMyList.LoadFromFile(AFile: string);
var i : integer; lxml : TXMLDocument; cn : IXMLNode; cnTemp : IXMLNode; begin if(not FileExists(AFile))then exit; Self.Clear; lxml := TXMLDocument.Create(Application); with lxml do try Options:=Options + [doNodeAutoIndent]; LoadFromFile(AFile); cn:=DocumentElement; for i :=0 to Pred(cn.ChildNodes.Count)do begin if(cn.ChildNodes.Nodes[i].NodeName = 'MyItem')then begin with TMyItem.Create(self) do begin FUser:= cn.ChildNodes[i].ChildValues['User'];//Hier tritt der Fehler auf . .
Delphi-Quellcode:
procedure TMyList.SaveToFile(AFile: string);
var i : integer; w : IXMLNode; begin with TXMLDocument.Create(nil) do try Active:=True; Options:=[doNodeAutoIndent]; ParseOptions:=[poPreserveWhiteSpace]; with AddChild('MyList') do begin for i :=0 to Pred(Self.Count)do begin with AddChild('MyItem') do begin AddChild('User').Text:=MyItems[i].FUser; AddChild('Password').Text:=MyItems[i].FPassword; . . Hui der rote Kasten geht mal :lol: Zitat:
Edit: Gott hats das Zitat verhunzt :shock: |
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Was passiert wenn du
Delphi-Quellcode:
nimmst?
cn.ChildNodes[i].Text
|
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Zitat:
|
Re: TXMLDocument: Typ (Null) in Typ (String) konvertieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz