![]() |
Aus CSV/StringList XML erstellen
Hallo,
bezogen auf ![]() XML(MSXML2)Dokument zu konvertieren. Die Stringlist sieht so aus: main1;Submenu1,Sub2,Sub3 main1;Submenu2,Sub2 main2;Submenu3,Sub2,Sub3 main2;Submenu4,Sub2 Gibt es da eine Funktion oder muss ich da mit pos und copy ran? Viele Grüße, |
Re: Aus CSV/StringList XML erstellen
Hallo Stefan,
dein Problem ist vergleichbar mit diesem: ![]() Deine Beispieldaten scheinen mir nicht repräsentativ zu sein. Sind wirklich alle SubItems auf Level 1 SubMenus? Kaum vorstellbar. Freundliche Grüße |
Re: Aus CSV/StringList XML erstellen
Hallo Marabu,
es sollte später so aussehen:
Delphi-Quellcode:
bzw.
main1(aktiv) main2
Submenu1 Sub2 Sub3 Submenu2 Sub2
Delphi-Quellcode:
Oben quasi das Hauptmenü, links dann ein eigenständiges Menü mit Unterpunkten. Ich hoffe ich konnte
main1 main2(aktiv)
Submenu3 Sub2 Sub3 Submenu4 Sub2 es einigermaßen veranschaulichen. Die Frage ist eben, wie ich die csv einigermaßen schnell zerpflücken kann. Viele Grüße ... |
Re: Aus CSV/StringList XML erstellen
Nochmal anders gefragt - wie sieht dein CSV für folgende Darstellung aus?
Code:
main1(aktiv) main2
Submenu1 Sub2 Sub3 Sub4 Sub5 Sub6 Sub7 Submenu2 Sub2 Item3 Item4 |
Re: Aus CSV/StringList XML erstellen
Hallo Marabu,
das sollte dann so aussehen:
Delphi-Quellcode:
main1;Sub1;Sub2;Sub3
main1;Sub1;Sub2;Sub4 main1;Sub1;Sub5; main1;Sub1;Sub6;Sub7 main1;Sub2;Sub2; main1;Item3;; main1;Item4;; |
Re: Aus CSV/StringList XML erstellen
Hallo Stefan,
die Verwendung von Komma und Semikolon als Trennzeichen in deinem ersten Beispiel scheint also ein Schreibfehler gewesen zu sein. Ich bleibe daher dabei: Der von mir verlinkte Thread behandelt das gleiche Problem, lediglich statt der Baumknoten musst du XML-Knoten einbauen. Gute Nacht |
Re: Aus CSV/StringList XML erstellen
Zitat:
|
Re: Aus CSV/StringList XML erstellen
Hallo,
irgendwo hat sich ein Fehler eingeschlichen und ich find ihn einfach nicht :? Also aus dem Array:
Delphi-Quellcode:
mach XML mit folgendem Code (Attribute rausgelassen):
Programmierung;Web;Google;Gears;Google_Gears_TecFeed
Programmierung;Web;Google;Gears;Google_Gears_TecFeed Programmierung;Web;Google;Web_API;Google_Web_API Programmierung;Web;Google;Web_API;Google_Web_API Programmierung;Web;JavaScript;Exploring_JavaScript;Exploring_Javascript Programmierung;Web;JavaScript;Frameworks;Dojo_Toolki Programmierung;Windows;Javat;;Java_2_EE Programmierung;Windows;Cplusplus;;C++ Programmierung;Windows;Java;;Java_6_programmierhandbuch Sonstiges;Dateisystem;;;Dateiformate Sonstiges;Servertechnik;Linux;;Apache_Axis2
Delphi-Quellcode:
Ergebnis:
for j := 0 to navigationData.Count-1 do
begin navigationArray := explode(';',navigationData[j]); if (navigationArray[0] <> '') and (lng.ChildNodes.FindNode(navigationArray[0]) = nil) then begin menuCount := menuCount + 1; 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; end;
Delphi-Quellcode:
Viele Grüße ...
<Programmierung text="Programmierung" url="index_de_1.html" frame="dummy">
<Web text="Web" frame="dummy"> <Google text="Google" frame="dummy"> <Gears text="Gears" frame="Google_Gears_TecFeed.pdf" /> <Gears text="Gears" frame="Google_Gears_TecFeed.pdf" /> <Web_API text="Web API" frame="Google_Web_API.pdf" /> <Web_API text="Web API" frame="Google_Web_API.pdf" /> </Google> <Google text="Google" frame="dummy" /> /////////////////// woher und warum? <Google text="Google" frame="dummy" /> /////////////////// woher und warum? <Google text="Google" frame="dummy" /> /////////////////// woher und warum? <JavaScript text="JavaScript" frame="dummy"> <Exploring_JavaScript text="Exploring JavaScript" frame="Exploring_Javascript.pdf" /> <Frameworks text="Frameworks" frame="Dojo_Toolki.pdf" /> </JavaScript> <JavaScript text="JavaScript" frame="dummy" /> /////////////////// woher und warum? </Web> <Windows text="Windows" frame="dummy"> <Javat text="Javat" frame="Java_2_EE.pdf" /> <Cplusplus text="Cplusplus" frame="C++.pdf" /> <Java text="Java" frame="Java_6_programmierhandbuch.pdf" /> </Windows> </Programmierung> <Sonstiges text="Sonstiges" url="index_de_2.html" frame="dummy"> <Dateisystem text="Dateisystem" frame="Dateiformate.pdf" /> <Servertechnik text="Servertechnik" frame="dummy"> <Linux text="Linux" frame="Apache_Axis2.pdf" /> </Servertechnik> </Sonstiges> |
Re: Aus CSV/StringList XML erstellen
*PUSH* :stupid:
|
Re: Aus CSV/StringList XML erstellen
Hi Stefan,
kannst du dein Problem in einem Miniprojekt samt Beispieldaten verschnüren? Freundliche Grüße |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:38 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