AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein XML Delphi Aus CSV/StringList XML erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Aus CSV/StringList XML erstellen

Ein Thema von Grolle · begonnen am 18. Feb 2008 · letzter Beitrag vom 28. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#1

Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 19:13
Hallo,

bezogen auf diesen Thread suche ich einen Ansatz um eine Stringlist in ein
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,

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 19:42
Hallo Stefan,

dein Problem ist vergleichbar mit diesem: Eigene Ordnerstruktur in TreeView

Deine Beispieldaten scheinen mir nicht repräsentativ zu sein. Sind wirklich alle SubItems auf Level 1 SubMenus? Kaum vorstellbar.

Freundliche Grüße
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 19:58
Hallo Marabu,

es sollte später so aussehen:

Delphi-Quellcode:
main1(aktiv) main2

Submenu1
  Sub2
    Sub3
Submenu2
  Sub2
bzw.
Delphi-Quellcode:
main1 main2(aktiv)

Submenu3
  Sub2
    Sub3
Submenu4
  Sub2
Oben quasi das Hauptmenü, links dann ein eigenständiges Menü mit Unterpunkten. Ich hoffe ich konnte
es einigermaßen veranschaulichen. Die Frage ist eben, wie ich die csv einigermaßen schnell zerpflücken
kann.

Viele Grüße ...

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 20:05
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
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 20:16
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;;

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 21:21
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
  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Aus CSV/StringList XML erstellen

  Alt 18. Feb 2008, 21:31
Zitat von marabu:
die Verwendung von Komma und Semikolon als Trennzeichen in deinem ersten Beispiel scheint also ein Schreibfehler gewesen zu sein.
das kann wohl sein *sorry*. Werde mich mit deiner Funktion mal auseinandersetzen. Danke!

  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#8

Re: Aus CSV/StringList XML erstellen

  Alt 26. Feb 2008, 11:36
Hallo,

irgendwo hat sich ein Fehler eingeschlichen und ich find ihn einfach nicht
Also aus dem Array:
Delphi-Quellcode:
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
mach XML mit folgendem Code (Attribute rausgelassen):
Delphi-Quellcode:
     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;
Ergebnis:
Delphi-Quellcode:
<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>
Viele Grüße ...

  Mit Zitat antworten Zitat
Grolle

Registriert seit: 5. Nov 2004
Ort: Coesfeld
1.268 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Aus CSV/StringList XML erstellen

  Alt 27. Feb 2008, 13:48
*PUSH*

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Aus CSV/StringList XML erstellen

  Alt 27. Feb 2008, 14:44
Hi Stefan,

kannst du dein Problem in einem Miniprojekt samt Beispieldaten verschnüren?

Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:16 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