tutorials.de Buch-Aktion 02/2012
Seite 1 von 2 12 LetzteLetzte
ERLEDIGT
NEIN
ANTWORTEN
21
ZUGRIFFE
7521
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Jul 2007
    Beiträge
    199
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    
    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.
    Geändert von yellowspam (24.08.07 um 08:36 Uhr)
     

  2. #2
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Mit
    Code :
    1
    
    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.
     

  3. #3
    Registriert seit
    Jul 2007
    Beiträge
    199
    Danke, jetzt funktioniert es

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

  4. #4
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Ö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.
     

  5. #5
    Registriert seit
    Jul 2007
    Beiträge
    199
    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?
     

  6. #6
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    Der Unterschied zwischen XML und einem normalen Textfile ist dir klar oder?

    Guck mal hier:
    http://www.devhood.com/tutorials/tut...utorial_id=400
     

  7. #7
    Registriert seit
    Jul 2007
    Beiträge
    199
    Zitat Zitat von Norbert Eder Beitrag anzeigen
    Der Unterschied zwischen XML und einem normalen Textfile ist dir klar oder?
    Nicht wirklich ,sry für meine Unwissenheit, ich bin grade mal 2 Monate als informatikerlehrling tätig ich weiß das leider (noch) nicht.
     

  8. #8
    Registriert seit
    Jul 2007
    Beiträge
    199
    Sag mal, gibt es die Strwamreader-Klasse auch für Webapplikationen? ICh finde alle bsp.: auf MSDN nur für eine consolenanwendung.
     

  9. #9
    Avatar von Norbert Eder
    Norbert Eder Norbert Eder ist offline Mitglied Diamant
    Registriert seit
    Feb 2004
    Ort
    Österreich / Graz
    Beiträge
    5.137
    Blog-Einträge
    51
    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.
     

  10. #10
    Registriert seit
    Jul 2007
    Beiträge
    199
    Ok,danke..
     

  11. #11
    Darkas Darkas ist offline Mitglied Gold
    Registriert seit
    Feb 2007
    Beiträge
    218
    Also ich gehe mal davon aus, dass du mehrere Downloads speichern willst. Dazu kannst du natürlich XML verwenden, dabei würde ich dir folgendes Schema empfehlen:
    Code :
    1
    2
    3
    4
    5
    6
    
    <downloads>
      <day date="[Das datum dass du in dein Kommentar geschrieben hast ohne das 'Downloads vom ']">
        <download name="[Dein Dateiname]" />
        <download name="[Deine nächste Datei]" />
      </day>
    </downloads>

    Somit kannst du mehrere downloads Speichern. Wie man Attribute mit einem XmlTextWriter erzeugt weiß ich nicht, bis jetzt habe ich immer nur mit XmlDocuments, XmlElements usw. gearbeitet, sollte aber kein Problem sein. Wenn du nur einen Download speichern wilst, dann schreibe kein Xml in deine Datei, sondern nimm am besten einfach System.IO.File.Write(); Damit kannst du plain text schreiben. Plain Text ist ein Text ohne weitere Formatierungen, also eine *.txt Datei, in der einfach nur Text steht.
    Schau dazu am besten mal in die Wikipedia: Plain Text und XML. XML ist eigentlich auch nur Plain Text, weil du ja nichts Binär codierst oder sowas. Ich weiß ja nicht wie gut du dich mit Xml auskennst, aber du solltest vielleicht auch mal in die Xml Spezifikation reinschaun, wenn dich das Thema genauer interessiert (ich hab sie auch noch nicht gelesen, aber mittlerweile so viel damit gemacht, dass ich das eh schon alles weiß )
     

  12. #12
    Registriert seit
    Jul 2007
    Beiträge
    199
    Äh..ja eine Frage hätte ich da noch ,

    Ich kann jetzt zwar den Text einer Textbox in ein Textfile schreiben, aber wenn ich den text in der Textbox lösche, neuen Text eingebe und auf den button klicke, wird der vorige Text in dem Textfile einfach überschrieben.

    Wie kann ich verhindern dass der Text überschrieben wird und einfach unter em vorigen Text steht?
     

  13. #13
    Darkas Darkas ist offline Mitglied Gold
    Registriert seit
    Feb 2007
    Beiträge
    218
    Also ich gehe mal davon aus, dass du mehrere Downloads speichern willst. Dazu kannst du natürlich XML verwenden, dabei würde ich dir folgendes Schema empfehlen:
    Code :
    1
    2
    3
    4
    5
    6
    
    <downloads>
      <day date="[Das datum dass du in dein Kommentar geschrieben hast ohne das 'Downloads vom ']">
        <download name="[Dein Dateiname]" />
        <download name="[Deine nächste Datei]" />
      </day>
    </downloads>

    Somit kannst du mehrere downloads Speichern. Wie man Attribute mit einem XmlTextWriter erzeugt weiß ich nicht, bis jetzt habe ich immer nur mit XmlDocuments, XmlElements usw. gearbeitet, sollte aber kein Problem sein. Wenn du nur einen Download speichern wilst, dann schreibe kein Xml in deine Datei, sondern nimm am besten einfach System.IO.File.Write(); Damit kannst du plain text schreiben. Plain Text ist ein Text ohne weitere Formatierungen, also eine *.txt Datei, in der einfach nur Text steht.
    Schau dazu am besten mal in die Wikipedia: Plain Text und XML. XML ist eigentlich auch nur Plain Text, weil du ja nichts Binär codierst oder sowas. Ich weiß ja nicht wie gut du dich mit Xml auskennst, aber du solltest vielleicht auch mal in die Xml Spezifikation reinschaun, wenn dich das Thema genauer interessiert (ich hab sie auch noch nicht gelesen, aber mittlerweile so viel damit gemacht, dass ich das eh schon alles weiß )

    Achja, und:
    Zitat Zitat von yellowspam Beitrag anzeigen
    Nicht wirklich ,sry für meine Unwissenheit, ich bin grade mal 2 Monate als informatikerlehrling tätig ich weiß das leider (noch) nicht.
    Na und, ich bin auch erst 9 Jahre als Schüler tätig, also sowas muss man doch echt wissen
     

  14. #14
    Avatar von Konstantin Gross
    Konstantin Gross Konstantin Gross ist offline Mitglied Platin
    Registriert seit
    Sep 2003
    Ort
    nähe Kassel (Hessen)
    Beiträge
    703
    Zitat Zitat von yellowspam Beitrag anzeigen
    Wie kann ich verhindern dass der Text überschrieben wird und einfach unter em vorigen Text steht?
    Hallo,

    z.B. so:
    Code :
    1
    2
    
    Stream deineDatei = new FileStream(@"c:\Pfad\blup.xml",FileMode.Append);
    XmlTextWriter objWriter = new XmlTextWriter(deineDatei, Encoding.Default);
     
    Internetseite:
    http://www.texturenland.de

    Blog:
    http://blog.texturenland.de

    Codesnippets:
    .NET-Snippets

    - Sollte ich bei einer Frage weitergeholfen haben, würde ich mich über eine positive Bewertung freuen -

  15. #15
    Registriert seit
    Jul 2007
    Beiträge
    199
    Danke erstmal für die vielen Tipps

    @Gross: Ich habe anstatt des filestreams einen string der den Speicherort enthält,wie soll ich da dann das machen?Und funktioniert es beim textWriter genauso wie beim XMLTextWriter?
    Geändert von yellowspam (24.08.07 um 13:09 Uhr)
     

Ähnliche Themen

  1. textBox Text in Datei schreiben
    Von KillerPikachu im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 02.10.08, 18:57
  2. Antworten: 3
    Letzter Beitrag: 13.04.08, 13:38
  3. Text in Textbox schreiben
    Von MacMoik im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 11.12.05, 13:06
  4. Tabelle (inhalt) in ein Text file schreiben...VB6
    Von mikelrad im Forum Visual Basic 6.0
    Antworten: 2
    Letzter Beitrag: 02.03.05, 17:35
  5. Textbox.text => File => falscher Fileinhalt
    Von SteinLaus im Forum .NET Archiv
    Antworten: 1
    Letzter Beitrag: 04.01.05, 22:11