Nadpisanie wartości w XML

0

Witam.
Mam problem z nadpisaniem XMLa.

XML:

<?xml version="1.0" standalone="yes"?>
<opcje>
	<serwer>wartosc1</serwer>
	<folder>wartosc2</folder>
</opcje>

I chce z TestBox'a pobrać tekst i nadpisać wartosc1 i wartosc2. Ktoś pomoże ?

2
using System.Xml.Linq;
using System;

class Program {

  static void Main() {
    XElement xml = XElement.Load("plik.xml");
    XElement elem1 = xml.Element("serwer");
    XElement elem2 = xml.Element("folder");
    Console.WriteLine(elem1.Value);
    Console.WriteLine(elem2.Value);
    elem1.Value = "serwer 2";
    elem2.Value = "folder 2";
    xml.Save("plik2.xml");
  }

}
0

wszystko ładnie działało dopóki nie zmieniłem xml-a na:

<dane> <opcje> <serwer>wartość</serwer> <folder>wartość</folder> ... </opcje> ... </dane>
            XElement xml = XElement.Load("db/plik.xml");
            XElement elem1 = xml.Element("serwer");
            XElement elem2 = xml.Element("folder");
            ...
            elem1.Value = textBox1.Text;
            elem2.Value = textBox2.Text;
            ...
            xml.Save("db/" + Form1.myIP + ".xml");

i przy linijce elem1.Value = textBox1.Text; wywala błąd:
Odwołanie do obiektu nie zostało ustawione na wystąpienie obiektu.

2

bo w obiekcie nadrzędnym (dane) nie ma elementów "serwer" ani "folder" tylko jest "opcje".

XElement opcje = xml.Element("opcje");
XElement serwer = opcje.Element("serwer");

1 użytkowników online, w tym zalogowanych: 0, gości: 1