Zum Inhalt springen

[C#] Maximale String länge?


Empfohlene Beiträge

Geschrieben

Hi,

Folgendes Problem:

Ich bekomme mittels einer Serverabfrage einen String zurück, der einen fertigen XML-Code enthält

bsp Code:


<params>

<param>

<value><array><data>

<value><string>UstId_1</string></value>

<value><string>DE000000000</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>ErrorCode</string></value>

<value><string>205</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>UstId_2</string></value>

<value><string>DK0000000</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Druck</string></value>

<value><string>nein</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Erg_PLZ</string></value>

<value><string></string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Ort</string></value>

<value><string>Musterort</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Datum</string></value>

<value><string>31.01.2011</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>PLZ</string></value>

<value><string>9999</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Erg_Ort</string></value>

<value><string></string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Uhrzeit</string></value>

<value><string>09:50:59</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Erg_Name</string></value>

<value><string></string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Gueltig_ab</string></value>

<value><string></string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Gueltig_bis</string></value>

<value><string></string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Strasse</string></value>

<value><string>Musterstrasse 42</string></value>

</data></array></value>

</param>

<param>

<value><array><data>

<value><string>Firmenname</string></value>

<va

Während er auf der Console den richtigen Code anzeigt, schneidet er bei mir, wie oben angegeben was weg. Da ich ja fertigen XML-Code bekomme, erstell ich via Streamwriter das xml-File via

StreamWriter test = new StreamWriter("C:\\Antwort.xml");

            test.Write(Antwort);

Ist das so falsch? Bzw. gibt es einen eleganteren Weg?

Keine Ahnung, warum er mir da etwas wegschneidet, was benötigt wird.

Jemand ne Idee?

Geschrieben

Die maximale Stringlänge liegt bei 2.147.483.647 Zeichen, was etwa 2 Gig an Speicher umfasst. Insofern ist es eher unwahrscheinlich, dass Du tatsächlich ein Problem mit der maximalen Länge bekommst/bekommen hast.

Geschrieben
Wie gibst du auf der Konsole aus?

Was ist Antwort?

Bist du sicher, dass zu diesem Zeitpunkt schon die gesamten Daten übertragen wurden und in Antwort stehen?

So kommts auf die Konsole:


StreamReader reader = new StreamReader(dataStream);

            // Read the content.

            string responseFromServer = reader.ReadToEnd();

und so in die Textfile:

 Ausgabe(responseFromServer);


            Console.ReadKey();


        }


        public static void Ausgabe(string Antwort)

        {

            StreamWriter test = new StreamWriter("C:\\Antwort.txt");

            test.Write(Antwort);

        }

Also ja, ich bin mir sicher, dass zum Zeitpunkt des Streamwriters alle Daten im String vorhanden sein sollte.

Wenn es an der Länge nicht liegt, woran könnte es dann liegen?

Andere Möglichkeiten wie ich daraus ne Datei erzeuge die ich weiterverarbeiten kann?

Geschrieben

sry falsch Kopiert.

Hier das komplette Endstück:


Console.WriteLine(responseFromServer);

            // Clean up the streams.

            reader.Close();

            dataStream.Close();

            response.Close();

            Ausgabe(responseFromServer);


            Console.ReadKey();


        }


        public static void Ausgabe(string Antwort)

        {

            StreamWriter test = new StreamWriter("C:\\Antwort.txt");

            test.Write(Antwort);

Geschrieben

sodele noch n bisschen rumgebastelt mit dem Ergebnis, dass er jetzt garnicht mehr in die .txt schreibt.

Breakpoint am Streamwriter gesetzt, da enthält der string:

UstId_1

DE1XXXXXX

ErrorCode

200

UstId_2

ATU1XXXXXXXX

Druck

nein

Erg_PLZ

A

Ort

Testort

Datum

31.01.2011

PLZ

3000

Erg_Ort

A

Uhrzeit

16:28:41

Erg_Name

A

Gueltig_ab

Gueltig_bis

Strasse

Teststraße 4

Firmenname

Margarete Musterfirma

Erg_Str

A

wobei in der Voransicht zumindest noch die Escapesequenzen drinn sind.

Habe mittlerweile die XML Tags mittels .Replace entfernt, da ich die zur Verarbeitung nicht brauche.

Also ist jetzt meine Frage: Warum schreibt er den Inhalt des strings nicht in die .txt File?

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...