Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

[C#] Maximale String länge?

Empfohlene Antworten

Veröffentlicht

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?

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.

  • Autor
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?

  • Autor

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);

  • Autor

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?

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.