Nadpisanie wartości w XML

Odpowiedz Nowy wątek
2011-07-11 08:42
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 ?


<span style="color: red">pomyśl o wczoraj, dziś, jutra może nie być nic . . .</span>

Pozostało 580 znaków

2011-07-11 10:49
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");
  }
 
}

Pozostało 580 znaków

2011-07-26 08:20
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.


<span style="color: red">pomyśl o wczoraj, dziś, jutra może nie być nic . . .</span>

Pozostało 580 znaków

2011-07-26 10:03
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");

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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