Announcement

Collapse
No announcement yet.

XMLDocument.Save

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • XMLDocument.Save

    Hallo Leute!

    Habe ein kleines Schönheitsproblem
    Wenn ich mittels Hilfe eines XML.XMLDocuments eine XML-Datei lade
    etwas verändere und dann wieder speichere dann fehlen mir die Zeichenumbrüche.

    BspCode:
    Code:
    Dim myXMLDoc As New Xml.XmlDocument
            myXMLDoc.Load("c:\meinXML.xml")
            myXMLDoc.SelectSingleNode("/web-app/session-config/session-timeout").InnerText = "120000"
            myXMLDoc.Save("c:\meinXML.xml")
    Das Dokument sieht vorher so aus:
    Code:
    ...bla..bla
     <session-config>
        <session-timeout>120</session-timeout>
      </session-config>
    ...bla..bla
    Anschließend so:
    Code:
    ...bla..bla<session-config><session-timeout>120000</session-timeout></session-config>...bla..bla
    Dies macht zwar dem XML Dokumet nichts aus, und natürlich funktioniert es auch weiterhin, aber dennoch wird es sehr unleserlich.

    Hatte das schon mal jemand gebraucht?

    Danke

    Gruß
    Cad

  • #2
    Code:
    Dim myXMLDoc As New Xml.XmlDocument
            myXMLDoc.Load("c:\meinXML.xml")
            myXMLDoc.SelectSingleNode("/web-app/session-config/session-timeout").InnerText = "120000"
            myXMLDoc.PreserveWhitespace = true
            myXMLDoc.Save("c:\meinXML.xml")
    Bitte vergessen Sie nicht die Antwort zu bewerten. Danke.:-)

    Comment


    • #3
      leider nein...

      Hallo!

      Danke für die Antwort, hatte dies aber bereits vrsucht (und jetzt nochmals)
      PreserveWhitespace hat leider keinen einfluss darauf. Das dokument ist im endeffekt umd 2kb kleiner da eben Zeilenumbrüche usw. fehlen.

      Ich habe eine passende Funktion im XMLWriter gefunden.
      Die XMLWriterSettings klasse untertützt meine wünsche

      Code:
      Dim myWriterSettigns As New Xml.XmlWriterSettings
            myWriterSettigns.Indent = True
            myWriterSettigns.NewLineOnAttributes = True
      
      Dim myXMLWriter As XmlWriter = XmlWriter.Create("mynewxml.xml", myWriterSettigns)
      Jedoch hilft mir der writer nur beim erstellen eines neuen xml-dokuments. ich schafe es nicht das bestehende dokument zu parsen und über den writer aus zu geben. evnetuell hat da jemand eine idee..?

      Gruß Cad

      PS: Im dateianhang ist mein probelm XML File
      ich will ua. für
      <session-config>
      <session-timeout>120</session-timeout>
      </session-config>
      den wert auf 120000 ändern...
      Attached Files
      Zuletzt editiert von cadburry; 15.12.2009, 10:47. Reason: rs

      Comment


      • #4
        Kommando zurück

        Halt! Kommando zurück

        Nun funktioniert es, der Clou:

        PreserveWhitespace muss bereits vor dem LOAD und nicht erst vor dem SAVE gesetzt werden.

        Danke

        Gruß Cad

        Comment

        Working...
        X