Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   Delphi Aus CSV/StringList XML erstellen (https://www.delphipraxis.net/108735-aus-csv-stringlist-xml-erstellen.html)

Union 27. Feb 2008 14:20

Re: Aus CSV/StringList XML erstellen
 
Ich habe das auch mal isoliert, bin aber noch zu keinem Ergebnis gekommen:
Delphi-Quellcode:
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;
Einfach ein Memo und einen Button auf das Form und in das Memo den CSV-text pasten.

Grolle 27. Feb 2008 14:38

Re: Aus CSV/StringList XML erstellen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hi,

Beispiel im Anhang.

Viele Grüße ...

Grolle 28. Feb 2008 11:40

Re: Aus CSV/StringList XML erstellen
 
Hallo,

hat sich erledigt. Habe den Fehler gefunden und es jetzt wie folgt gelöst:
Delphi-Quellcode:
      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;
Viele Grüße ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Seite 2 von 2     12   

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