tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
11
ZUGRIFFE
1737
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    ich habe folgende XML Datei.
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    <?xml version="1.0" encoding="utf-16"?>
    <Programm>
      <Einstellungen>
        <Opacity>1</Opacity>
        <Tray>0</Tray>
        <Titel>Fenster1</Titel>
      </Einstellungen>
    </Programm>
    Ist es irgendwie möglich, dass nur die einzelnen Einstellung überschrieben werden?
    Ich habe zwar schon etwas gefunden, wie man mit VB.NET XML Dateien erstellt,
    jedoch wird dabei immer die ganze Datei überschrieben.

    Hoffe hier kann mir jemand weiterhelfen.

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  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
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    string filename = @"C:\options.xml";
    XmlDocument doc = new XmlDocument();
    doc.Load(filename);
     
    XmlNode xn = doc.SelectSingleNode("Programm/Einstellungen/Titel");
    if (xn != null)
      xn.InnerText = "Fenster 2";
     
    doc.Save(filename)


    Dazu musst du den Namespace System.Xml einbinden. Dann sollte das so funktionieren, sofern ich jetzt keinen Tippfehler drinnen hab. Beispiel wurde von mir nicht getestet.
     

  3. #3
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    leider habe ich eine Fehlermeldung bekommen (siehe Bild).
    Weiß jemand wo der Fehler liegen könnte?

    mfg
    forsterm
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken XML nur ein Element bearbeiten-csharp_xml_fehler.jpg  
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  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
    Schon die angebotene Hilfe dazu durchgelesen?
    Das Encoding des XMLs schon auf utf-8 gestellt?
     

  5. #5
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Zitat Zitat von Norbert Eder
    Das Encoding des XMLs schon auf utf-8 gestellt?

    Hallo,
    habe das mal so versucht:
    Code csharp:
    1
    2
    3
    4
    5
    6
    7
    8
    
    string filename = @"C:\options.xml";
    XmlDocument doc = new XmlDocument();
    Encoding.UTF8;
    doc.Load(filename);
    XmlNode xn = doc.SelectSingleNode("Programm/Einstellungen/Titel");
    if (xn != null)
    xn.InnerText = "Fenster 2";
    doc.Save(filename);
    Leider habe ich jedoch folgenden Fehler erhelten, mitdem ich aber nichts anfangen kann.
    Code :
    1
    
    Nur assignment-, call-, increment-, decrement- und "new object"-Ausdrücke können als Anweisung verwendet werden.

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  6. #6
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Zitat Zitat von forsterm
    [/COLOR]Leider habe ich jedoch folgenden Fehler erhelten, mitdem ich aber nichts anfangen kann.
    Code :
    1
    
    Nur assignment-, call-, increment-, decrement- und "new object"-Ausdrücke können als Anweisung verwendet werden.
    o.0 Zeile 3,
    von Exceptions hast wohl noch nichts gehört?

    Problem mit Umlauten - Thread von Dir
    Hilfe bei SaveFileDialog - Thread
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  7. #7
    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
    Du sollst das Encoding.UTF8 nicht in den Sourcecode schreiben, sondern lediglich die erste Zeile in deinem XML anpassen.
     

  8. #8
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Zitat Zitat von cosmochaosmaker
    o.0 Zeile 3, von Exceptions hast wohl noch nichts gehört
    Zitat Zitat von Norbert Eder
    Du sollst das Encoding.UTF8 nicht in den Sourcecode schreiben,
    sondern lediglich die erste Zeile in deinem XML anpassen.
    Hallo,
    sorry, dass ich mich so blöd anstellen , danke jetzt hat es funktioniert.
    Nur noch eine (kleine) Frage.
    Wenn ich sagen wir folgende XML Datei erstellt habe:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    <?xml version="1.0" encoding="utf-8"?>
    <Programm>
      <Einstellungen>
        <Opacity>1</Opacity>
        <Tray>0</Tray>
        <Titel>Fenster1</Titel>
      </Einstellungen>
      <ListBox></ListBox>
    </Programm>
    wie kann ich dann zwischen die Elemente <ListBox></ListBox>
    den Inhalt meiner ListBox schreiben? Es sollte ungefähr so aussehen:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    <?xml version="1.0" encoding="utf-8"?>
    <Programm>
      <Einstellungen>
        <Opacity>1</Opacity>
        <Tray>0</Tray>
        <Titel>Fenster1</Titel>
      </Einstellungen>
      <ListBox>
        <ListBoxEintrag>Eintrag1</ListBoxEintrag>
        <ListBoxEintrag>Eintrag2</ListBoxEintrag>
        <ListBoxEintrag>Eintrag3</ListBoxEintrag>
        <ListBoxEintrag>Eintrag4</ListBoxEintrag>
      </ListBox>
    </Programm>

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  9. #9
    Avatar von Christian Kusmanow
    Christian Kusmanow Christian Kusmanow ist offline Mitglied Diamant
    Registriert seit
    Aug 2004
    Ort
    Aachen (NRW)
    Beiträge
    2.208
    Blog-Einträge
    15
    Also Du machst echt den Anschein als hättest Dich seit damals NICHT mit Exceptions auseinander gesetzt. -->

    Zitat Zitat von forsterm
    wie kann ich dann zwischen die Elemente <ListBox></ListBox>
    den Inhalt meiner ListBox schreiben?
    Ungefähr so: Beispiel - Post
     
    MfG,
    Christian

    Wer sein Problem definiert, hat es schon halb gelöst!

    Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.

    The Code Project! - C# Programming | C# / VB.NET Pendants

    Regeln + Netiquette

    Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
    und vor allem nicht auf das, was euch die IHK dazu erzählt!
    Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...

  10. #10
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    ok ich habe es nun geschafft, dass der Inhalt einer ListBox in eine XML Datei gespeichert wird.
    Das sieht wie folgend aus:
    Code vbnet:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    
    On Error GoTo err
    Dim doc As XmlDocument = New XmlDocument()
    Dim node As XmlNode
    doc.Load(filename)
    node = doc.SelectSingleNode("Programm/ListBox")
    node.RemoveAll()
    For i = 0 To ListBox1.Items.Count - 1
    node.AppendChild(doc.CreateNode(XmlNodeType.Element, "ListBoxEintrag", ""))
    node.ChildNodes(i).InnerText = ListBox1.Items.Item(i)
    Next
    doc.Save(filename)
    Exit Sub
    err:
    MessageBox.Show(Err.Description, "Fehler beim Speichern der XML Datei")

    Nun habe ich nur noch eine Frage. Wie kann ich nun jedem Element noch ein Attribut hinzufügen?

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

  11. #11
    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
    Ein Beispiel aus der MSDN.

    Sollte dir weiterhelfen.
     

  12. #12
    Avatar von forsterm
    forsterm forsterm ist offline Mitglied Rubin
    Registriert seit
    Nov 2004
    Ort
    Bayern
    Beiträge
    1.328
    Hallo,
    ok, habe es nun so gelöst:
    Code vbnet:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    
    On Error GoTo err
    Dim doc As XmlDocument = New XmlDocument()
    Dim node As XmlNode
    doc.Load(filename)
    node = doc.SelectSingleNode("Programm/ListBox")
    node.RemoveAll()
    For i = 0 To ListBox1.Items.Count - 1
    node.AppendChild(doc.CreateNode(XmlNodeType.Element, "ListBoxEintrag", ""))
    node.ChildNodes(i).InnerText = ListBox1.Items.Item(i)
    node.ChildNodes(i).Attributes.SetNamedItem(doc.CreateAttribute("Name")).Value = "Value"
    Next
    doc.Save(filename)
    Exit Sub
    err:
    MessageBox.Show(Err.Description, "Fehler beim Speichern der XML Datei")

    Danke an alle, die mir geholfen haben, auch wenn ich mich sau dumm angestellt habe.

    mfg
    forsterm
     
    Wie man Fragen richtig stellt

    Wichtig:
    Bitte markiert eure beantworteten Fragen als "erledigt" (links unten auf "Erledigt" klicken).
    __________________
    .:Mitglied #26 des 1. offiziellen Sven Uwe Fan-Clubs:.

Ähnliche Themen

  1. Element bearbeiten
    Von _SoulKnoT im Forum XML Technologien
    Antworten: 1
    Letzter Beitrag: 07.02.10, 23:56
  2. Das DataGridView-Element ist kein bekanntes Element
    Von Vereth im Forum .NET Windows Forms
    Antworten: 0
    Letzter Beitrag: 25.11.09, 17:52
  3. Klasse bei Element in einem Element
    Von kuhlmaehn im Forum CSS
    Antworten: 2
    Letzter Beitrag: 06.11.09, 15:12
  4. prüfen welches Element unter einem Element liegt?
    Von FunkyMonkey im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 10.11.07, 00:37
  5. Antworten: 1
    Letzter Beitrag: 28.04.04, 18:22