| |
VB.NET - Ein- und UmsteigerCollection in Treeview | | | Autor: Snickers | Datum: 15.10.10 17:40 |
| Hi all,
ich baue mir aus einer XML Datei eine Collection! Welche im Ergebnis so aussieht.
1,kategorie
1.1,unterkategorie,1
1.1.1,unterunterkategorie,1.1
1.1.1.1,unterunterunterkategorie,1.1.1
1.1.1.2,unterunterunterkategorie2,1.1.1
1.1.1.3,unterunterunterkategorie3,1.1.1
usw. usw.
Sprich ich hab ID,NAME,PARENT
Jetzt versuche ich verzweifelt das in ein Treeview zu bekommen.
tr.Nodes.Add("Kategorien")
For Each kvp As KeyValuePair(Of String, String()) In sl
tr.Nodes(0).Nodes.Add(("" + kvp.Key & ";") + kvp.Value(0) + _
kvp.Value(1))
Next das klappt auch soweit nur habe ich halt nur einen Stamm, die Frage ist kann ich den nodes die ID als Index geben?
Danke für eure Hilfe.
Gruß Dustin | |
Re: Collection in Treeview | | | Autor: Snickers | Datum: 16.10.10 10:15 |
| Hi Manfred X,
das geht leider nicht, weil die xml eine Katastrophe ist, darum muss ich den Umweg machen über die Collections. Die XML die ich bekomme hat keine strucktur und ist nicht geordnet.
Vielleicht kann mir ja doch noch jemand helfen.
Danke
Dustin | |
Re: Collection in Treeview | | | Autor: Manfred X | Datum: 16.10.10 10:53 |
| Hallo!
Ich vermute, Deine Sackgasse ist die Collection.
Wäre es nicht einfacher - insbesondere für die
Weiterverarbeitung der Daten - die Einträge in
der nicht gut strukturierten XML-Datei auszulesen
und daraus ein geeignet strukturiertes XML-Dokument
zu erstellen.
MfG
Manfred | |
Re: Collection in Treeview | | | Autor: Snickers | Datum: 16.10.10 11:13 |
| Ok, dann ist hier meine XML Datei wie bekomme ich diese dann strukturiert und dann in den Treeview?
<?xml version="1.0" encoding="UTF-8"?>
<downloadResponse xmlns="http://www.meinpaket.de/xsd/dietmar/1.0/products" _
version="1.0">
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.2">
<name>Beleuchtung & Lampen</name>
<parent code="4"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.7">
<name>Kochen & Essen</name>
<parent code="4"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.8.1">
<name>Möbel</name>
<parent code="4.8"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.8.3">
<name>Bettwäsche & Bettlaken</name>
<parent code="4.8"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.5.2">
<name>Feuerwehr-Bedarf</name>
<parent code="4.5"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.6.1">
<name>Bügeln, Nähen & mehr</name>
<parent code="4.6"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.1.1">
<name>Bad & Sanitär</name>
<parent code="4.1"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.1.8">
<name>Kamine</name>
<parent code="4.1"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.3.4">
<name>Kalender, Planer & Organizer</name>
<parent code="4.3"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.8.5.7">
<name>Krüge, Kannen & Karaffen</name>
<parent code="4.8.5"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.8.5.16">
<name>Körbe</name>
<parent code="4.8.5"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.8.2.2">
<name>Handtücher</name>
<parent code="4.8.2"/>
</category>
<category xmlns:ns4="http://www.meinpaket.de/xsd/dietmar/1.0/orders" _
xmlns:ns3="http://www.meinpaket.de/xsd/dietmar/1.0/common" _
xmlns:ns2="http://www.meinpaket.de/xsd/dietmar/1.0/checkout" code="4.8.1.5">
<name>Küche</name>
<parent code="4.8.1"/>
</category>
</downloadResponse> Die ist nur ein Auszug aber man kann erkennen das die Datei komplett unstrukturiert ist. Ich bekomme Sie auch nicht anders! | |
Re: Collection in Treeview | | | Autor: Snickers | Datum: 16.10.10 17:04 |
| Hi Dave,
danke dir erstmal. Mein Problem ist ja eigentlich das ich die category.xml garnicht zwischenspeichere bzw. müsste ich das nicht. Ich kriege die Daten ja durch einen httprequest.
Ich habe ja noch viel mehr kategorien als nur die hier angezeigten meine abgespeicherte XML hat ca. 800 kb.
Ich müsste mir die root kategorie "Kategorien" nennen und dann die Kategorien die keinen parent haben sprich 1,2,3,4 usw. je einen Treenode erstellen.
Ich weiß das deren XML Datei einfach mist ist, bekomme die Daten aber nicht anders.
Also wie kann ich erst das Node "Kategorien" erstellen dann die anderen Nodes anhängen?
If c.parent = "" Then
TreeView1.Nodes.Add(tn)
Else so gehts ja nicht?
Danke Dustin | |
Re: Collection in Treeview | | | Autor: Snickers | Datum: 16.10.10 17:35 |
| Super danke das funzt. Perfekt.
Zitat: | | Es ist übrigens schön mal hier ausnahmsweise etwas professionell aussehende Xml zu genießen. | |
Ist das ironisch oder ernst gemeint??? Weil ich fand das nun nicht wirklich schönes bzw. Professionelles XML.
Eine Frage habe ich jetzt noch an dich.
Ich würde jetzt gerne noch die Cat_Id mit übergeben sodas ich nen nächsten Event machen kann.
Ich möchte dann nen node click event machen der mir dann nen Grid füllt mit all den Artikeln die sich in der Kategorie befinden.
Und ja ich weiß ich nerve, warum Importierst du die xsd? Hat das was mit linq zu tun?
Danke Dustin | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|