[C#] Text aus Textbox in XML-File schreiben?

yellowspam

Erfahrenes Mitglied
Hi@all:

Ich habe eine Webapplikation in welcher man eine downloadURL in eine Textbox eingibt und diese dann per Klick in ein XML-File schreiben kann.
Es t alles ,die XML wird geschrieben,aber eben nicht so wie ich es will.

Mein Problem ist:
1. dass nicht der Text aus der Textbox reingeschrieben wird sondern nur irgendein Text im XML-format
2.wird der text nicht so reingeschrieben wie ich es brauche.

Meine Fragen wären nun:
zu 1. Wie krieg ich das hin das der Text den der User in die Textox eingibt in das XML-file reingeschrieben wird und zwar nicht im XML-Format?

2.Gibt es möglichkeiten den Text der in die XML-datei reingeschrieben wird zu formatieren, also absätze,etc...?

Hier der code der test.aspx.cs:

Code:
protected void click(Object Sender, EventArgs e)
        {
            //speicherort wählen
            String strFilePath = "D:\\Projects\\Projects_2007\\bluestep.downloadmanager.solution\\bluestep.downloadmanager\\bluestep.downloadmanager\\xml\\urls.xml";
            //Erzeugen einer Instanz des XmlTextWriter-Objektes
            XmlTextWriter objWriter = new XmlTextWriter (strFilePath , System.Text.Encoding.UTF8);
            //Beginn das xml-file zu schreiben
            objWriter.WriteStartDocument();
            //schreiben eines Kommentars in das XML-file
            objWriter.WriteComment("Downloads vom 23.8.2007");
            //schreiben des ersten Elementes
            objWriter.WriteStartElement("txt1");
            objWriter.WriteElementString("","txt1.text");
            //Element schließen
            objWriter.WriteEndElement();
            // XML-Datenstrom in Datei schreiben
            objWriter.Flush();
            // Speicher freigeben
            objWriter.Close();
            // erfolgreich abgeschlossen
            result.Text = "XML-Datei \"" + strFilePath + "\" erstellt.";
        }

Das ist das ergebniss,welches in der XML-datei steht:

<?xml version="1.0" encoding="utf-8"?><!--Downloads vom 23.8.2007--><txt1><>txt1.text</></txt1>

Hoffe ihr könnt mir helfen.
 
Zuletzt bearbeitet:

Norbert Eder

Erfahrenes Mitglied
Mit
Code:
objWriter.WriteElementString("","txt1.text");
erzeugst du ein leeres Element. Und genau darin liegt dein Problem. Wenn du den InnerText von txt1 befüllen willst, dann musst du in dieses Objekt die Daten hineinschreiben. Wenn du _irgendetwas_ in ein XML schreiben willst, dann solltest du dir CDATA angucken.
 

yellowspam

Erfahrenes Mitglied
Danke, jetzt funktioniert es ^^

Aber sag, wie krieg ich diese XML-tags weg,sodass nur der text aus der textbox drin steht?
 

Norbert Eder

Erfahrenes Mitglied
Öhm .. du WILLST ja ein XML schreiben, dann ist es auch nicht weiter verwunderlich, wenn sich darin XML-Tags befinden, zumal du diese ja selbst angeben musst.

Wenn du ein reines Text-File schreiben willst (plain text), dann bist du mit XML auf der falschen Seite des Ufers.
 

yellowspam

Erfahrenes Mitglied
nun und es gibt keinen weg diese xml-tags wegzukriegen?

Ok, dann eben nicht, und wie heißt die andere Funtkion fü eine text-datei...PlainText?
 

yellowspam

Erfahrenes Mitglied
Sag mal, gibt es die Strwamreader-Klasse auch für Webapplikationen? ICh finde alle bsp.: auf MSDN nur für eine consolenanwendung.
 

Norbert Eder

Erfahrenes Mitglied
Das sind dort auch nur Beispiele. Natürlich gibt es die auch für Webanwendungen. Kannst du ja auch selbst einfach testen, indem du sie einfach in dein Projekt einbindest.