Announcement

Collapse
No announcement yet.

GPS XML String in arrays speicher, besser möglich als mein Ansatz?

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

  • GPS XML String in arrays speicher, besser möglich als mein Ansatz?

    Guten Abend miteinander.

    Für ein kleines Projekt muss ich einen XML String mit Ortskoordinaten in ein array speichern.

    Der String hat das muster ( zahl1 zahl2 zahl 3,zahl4 zahl5 zahl6,.......)

    1 2 3 soll dann jeweils einen vektor ergeben, alles zusammen ein mehrd. array.

    Meine Idee ist den String Zeichen für Zeichen zu analysieren. Eventuell die Struktur in eine
    Switchanweisung packen.

    Code:
            internal static List<List<int>> Convert_StringVector_IntList_new(string arrayStr)
            {
                List<int> vector = new List<int>();
                List<List<int>> vlist = new List<List<int>>();
                StringBuilder tstring = new StringBuilder();
    
    
                for (int counter = 0; counter < arrayStr.Length; counter++)
                {
    
    
                    if (counter == arrayStr.Length - 1)
                    {
                        tstring.Append(arrayStr[counter]);
                        vector.Add(int.Parse(tstring.ToString()));
                        vlist.Add(vector);
                        vector = null;
                        vector = new List<int>();
                        tstring = null;
                        tstring = new StringBuilder();
    
    
                    }
    
    
                    if (Convert.ToString(arrayStr[counter]).Contains(" "))
                    {
                        vector.Add(int.Parse(tstring.ToString()));
                        tstring = null;
                        tstring = new StringBuilder();
    
                    }
                    else
                    {
    
                        if (Convert.ToString(arrayStr[counter]).Contains(","))
                        {
                            vector.Add(int.Parse(tstring.ToString()));
                            vlist.Add(vector);
                            vector = null;
                            vector = new List<int>();
                            tstring = null;
                            tstring = new StringBuilder();
    
                        }
    
                        else
                        {
                            tstring.Append(arrayStr[counter]);
                        }
                    }
                    
    
                }
    
                return vlist;
            }
    Danke euch

  • #2
    wenn es ein XML String sein soll oder so dann verstehe ich nicht warum du nicht mit den Klassen dafür arbeitest um die Informationen zu erhalten.

    Mehrdimensionales Array? Bei dir zweidimensional also eine Matrix?


    edit: falls immer Leerzeichen oder Komma als trennzeichen da sind und nie ein KOmma in einer der zahlen vorkommt dann würde ich folgendes ansetzen:
    [highlight=c#]
    foreach(string spalte in arraystr.split(",")
    {
    foreach(string zeile in spalte.split(" ")
    {
    //hier solltest du immer 3 zahlen bekommen welche zahl1, zahl2 , zahl3 oder zahl4, zahl5, zahl6 entsprechen
    int zahl = 0;
    if(int.tryParse(zeile, out zahl)
    //erfolgreich gelesen
    else
    //lesen fehlgeschlagen
    }
    }


    [/highlight]


    Und zur besseren Lesbarkeit würde ich eine List<Vector> empfehlen oder so und dann eine eigene Klasse definieren. weil eine geschachtelte Liste sieht beim deklarieren schon hässlich aus ... und ist in der Verwendung auch nicht viel schöner wie ein Array
    Zuletzt editiert von das-d; 19.02.2011, 13:29.
    Unsere Jugend ist unerträglich, unverantwortlich und entsetzlich anzusehen! - Aristoteles

    Comment


    • #3
      Für ein kleines Projekt muss ich einen XML String mit Ortskoordinaten in ein array speichern.
      Warum? Du hast doch schon dein XML. Ich kann mir kaum vorstellen das du in deiner Anwendung mit einer geschachtelten Liste einfacher umgehen kannst als mit dem XML.

      Comment

      Working...
      X