![]() |
Re: Aus CSV/StringList XML erstellen
Ich habe das auch mal isoliert, bin aber noch zu keinem Ergebnis gekommen:
Delphi-Quellcode:
Einfach ein Memo und einen Button auf das Form und in das Memo den CSV-text pasten.
uses xmldoc, xmlintf;
procedure TForm1.Button1Click(Sender: TObject); var lng : TXMLDocument; MainNav, Level1, Level2, Level3, Attribute : IXMLNode; i : integer; NavigationArray : TStringDynArray; begin lng := TXMLDocument.Create(Self); lng.Active := True; for i := 0 to Memo1.Lines.Count-1 do begin NavigationArray := Explode(';', Memo1.Lines[i]); try if (navigationArray[0] <> '') and (lng.ChildNodes.FindNode(navigationArray[0]) = nil) then begin mainNav := lng.AddChild(navigationArray[0]); end; if (navigationArray[1] <> '') and (mainNav.ChildNodes.FindNode(navigationArray[1]) = nil) then begin level1 := lng.ChildNodes.FindNode(navigationArray[0]); attribute := level1.AddChild(navigationArray[1]); end; if (navigationArray[2] <> '') and (level1.ChildNodes.FindNode(navigationArray[2])= nil) then begin level2 := level1.ChildNodes.FindNode(navigationArray[1]); attribute := level2.AddChild(navigationArray[2]); end; if (navigationArray[3] <> '') and (level2.ChildNodes.FindNode(navigationArray[3])= nil) then begin level3 := level2.ChildNodes.FindNode(navigationArray[2]); attribute := level3.AddChild(navigationArray[3]); end; except break; end; end; lng.SaveToFile('c:\temp\test.xml'); lng.Free; end; |
Re: Aus CSV/StringList XML erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,
Beispiel im Anhang. Viele Grüße ... |
Re: Aus CSV/StringList XML erstellen
Hallo,
hat sich erledigt. Habe den Fehler gefunden und es jetzt wie folgt gelöst:
Delphi-Quellcode:
Viele Grüße ...
for j := 0 to navigationData.Count-1 do
begin navigationArray := explode(';',navigationData[j]); if navigationArray[0] <> '' then begin if lng.ChildNodes.FindNode(navigationArray[0]) = nil then mainNav := lng.AddChild(navigationArray[0]) else mainNav := lng.ChildNodes.FindNode(navigationArray[0]); end; if navigationArray[1] <> '' then begin if mainNav.ChildNodes.FindNode(navigationArray[1]) = nil then level1 := mainNav.AddChild(navigationArray[1]) else level1 := mainNav.ChildNodes.FindNode(navigationArray[1]); end; if navigationArray[2] <> '' then begin if level1.ChildNodes.FindNode(navigationArray[2])= nil then level2 := level1.AddChild(navigationArray[2]) else level2 := level1.ChildNodes.FindNode(navigationArray[2]); end; if navigationArray[3] <> '' then begin if level2.ChildNodes.FindNode(navigationArray[3])= nil then level3 := level2.AddChild(navigationArray[3]); end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 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