Fraggla Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 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? Zitieren
Klotzkopp Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 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? Zitieren
lilith2k3 Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 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. Zitieren
Fraggla Geschrieben 31. Januar 2011 Autor Geschrieben 31. Januar 2011 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? Zitieren
Klotzkopp Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 So kommts auf die Konsole:Da passiert keine Konsolenausgabe. Was passiert zwischen diesen Codefragmenten mit responseFromServer? Zitieren
Fraggla Geschrieben 31. Januar 2011 Autor Geschrieben 31. Januar 2011 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); Zitieren
Fraggla Geschrieben 31. Januar 2011 Autor Geschrieben 31. Januar 2011 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? Zitieren
Klotzkopp Geschrieben 31. Januar 2011 Geschrieben 31. Januar 2011 sodele noch n bisschen rumgebastelt mit dem Ergebnis, dass er jetzt garnicht mehr in die .txt schreibt.Wie prüfst du das denn? Zitieren
Fraggla Geschrieben 1. Februar 2011 Autor Geschrieben 1. Februar 2011 per Breakpoint und Ansicht auf der Variablen Zitieren
Klotzkopp Geschrieben 1. Februar 2011 Geschrieben 1. Februar 2011 per Breakpoint und Ansicht auf der VariablenIch meine, wie du den Dateiinhalt prüfst. Zitieren
Fraggla Geschrieben 1. Februar 2011 Autor Geschrieben 1. Februar 2011 (bearbeitet) ich öffne im Editor eine 0kb große .txt file Problem wurde jetzt aber per StreamWriter.close() gelöst. Bearbeitet 1. Februar 2011 von Fraggla Zitieren
Empfohlene Beiträge
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.