Announcement

Collapse
No announcement yet.

Variable Mehrdimensionale Arrays In Vb.net

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Variable Mehrdimensionale Arrays In Vb.net

    Hallo,
    ich habe ein Problem...
    Ich würde gerne XML Dateien in Arrays einlesen...
    Das ganze nach dem Schema:
    XML Datei:
    <element1>
    <unterelement1 value1="test" value2="test" \>
    <unterelement2 value1="test2" value2="test" \>
    <unterelement3>
    <unterelement4 value1="test"\>
    </unterelement3>
    </element1>
    Array:
    XMLArray(element1, unterelement1, value1) = test
    XMLArray(element1, unterelement1, value2) = test
    XMLArray(element1, unterelement2, value1) = test2
    XMLArray(element1, unterelement2, value2) = test
    XMLArray(element1, unterelement3, unterelement4, value1) = test
    .....
    Ich hoffe ihr versteht was ich meine^^ ich brauch halt die xml struktur in einem array mit key und schlüssel.. Unbedingt in der struktur... Das ganze variabel, weil ich ja vorher nicht weiß wieviele unterelemente die xml datei hat.

    Ist das möglich? Wenn ja, dann helft mir doch bitte mal auf die sprünge^^

    MfG
    Hennieliminator
    Zuletzt editiert von Hennieliminator; 21.03.2008, 18:45.

  • #2
    Originally posted by Hennieliminator View Post
    Ich hoffe ihr versteht was ich meine^^
    Ich verstehe es jedenfalls nicht: für mein Verständnis ist Key gleich Schlüssel. Du meinst vermutlich Schlüssel (Key) und Wert (Value); aber Du erklärst nicht, was für Dich der Wert ist: einer der Strings oder das gesamte XmlElement oder ???
    ich brauch halt die xml struktur in einem array mit key und schlüssel..
    Mir fällt in erster Linie ein Dictionary<Key, Value> ein. Unter NET haben Arrays eine feste Größe und sind deshalb äußerst unflexibel; stattdessen sind List<T> und Dictionary<T, U> zu empfehlen.
    Unbedingt in der struktur... Das ganze variabel, weil ich ja vorher nicht weiß wieviele unterelemente die xml datei hat.
    Der Key muss dann eindeutig sein; als Value kommt (wenn nötig) auch eine List<T> in Frage - also Dictionary<T, List<U>>. Aber wie gesagt, ich verstehe nicht, welche Typen (Teile Deiner xml-Datei) als Key und welche als Value gedacht sind.

    Jürgen

    Comment


    • #3
      ups ja natürlich nicht key schlüssel sondern key wert^^ hab mich vertan sorry

      also die variable soll so aufgebaut sein:
      als name(schlüssel) soll das element sein. bzw wenn das element noch attribute hat, dann soll der wert des elementes ein array oder was auch immer mit attributen sein, also element->attribut name->attribut wert... das ganze muss halt flexibel sein, weil ja auch unterelemente existieren können. zb element->unterelement->attribut name->attribut wert... besser erklärt was ich brauche? xD

      //Edit: Mir wird grad klar, dass das wie ichs mir vorstelle nicht so einfach geht, weil dazu auch die typen flexibel sein müssen... mal string als wert mal ein array als wert... oder halt dictionary bzw list...
      Zuletzt editiert von Hennieliminator; 21.03.2008, 16:12.

      Comment


      • #4
        Dann bin ich ja beruhigt: Es lag also weniger an meinem fehlenden Verständnis als an Deiner Konzeption.

        Die benutzten Typen sind bei einer Lösung zweitrangig; notfalls kannst Du auch ein Dictionary<object, object> nutzen (auch wenn dann viele Vorteile eines Dictionary verloren gingen). In erster Linie musst Du genau überlegen, welche Keys eindeutig sein können/sollen und was einen Key mit seinem Value verbindet.

        Jürgen

        Comment


        • #5
          soo^^
          hab mein Problem gelöst... Hab mich jetzt noch ein paar stunden mit xml beschäftigt und hab gefunden was ich brauchte. Ich hatte mit dem XmlTextReader gearbeitet, der geht aber die einzelnen Knoten schritt für schritt ab. <-Nicht das was ich brauche
          Hab jetzt die Klasse XmlDocument gefunden. Wenn ich da die funktion load aufrufe, habe ich das gesamte document in der klasse und kann einzelne Knoten mit item("element1").item("unterelement1") abrufen... So brauch ich das nicht in ein array packen oder sonstwas, so hab ich es sofort wie ich es wollte

          Originally posted by Jürgen Thomas
          Die benutzten Typen sind bei einer Lösung zweitrangig; notfalls kannst Du auch ein Dictionary<object, object>
          Jah Object... Jetzt wo du es sagst... Ich muss noch vieeel lernen

          Danke^^

          Comment

          Working...
          X