Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Aus CSV/StringList XML erstellen

  Alt 27. Feb 2008, 15:20
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.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat