Entwickler-Ecke

IO, XML und Registry - XML mit C# einlesen


Chronos - So 13.04.08 21:29
Titel: XML mit C# einlesen
Hi,

ich habe eine kleine Frage, ich veruche für meine C# Anwenung ein XML File zu erstellen und zu verarbeiten, um dort drinnen Einstellungen für mein Programm zu sichern.

Allerdings habe ich noch nicht ganz soviel erfahrung mit C# und dem zusmmenspiel mit XML Datein. Ich habe schonaml was gaaanz kleines vorbereitet wie ich meine das es erstmal stimmen müste, die Frage ist nur wie jetzt weiter.

Erstmal etwas Codevorstellung:

C#-Quelltext
1:
2:
3:
4:
5:
6:
XmlDocument settings = new XmlDocument();
            settings.Load("settings.xml");


XmlNode node = settings.SelectSingleNode("/Settings/GlobalSettings/BoxIP");
            string a = node.InnerText;

Der erste Teil, bin ich mir relativ sicher das das so stimmen müsste.

Ier noch der vollständigkeitshalber das XML File:

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
´
<?xml version="1.0" encoding="utf-8" ?>
<Settings>
  <GlobalSettings>
    <BoxIP>192.168.178.1</BoxIP>
    <MonitorPort>1012</MonitorPort>
  </GlobalSettings>
  <VMC_CallMonitor>
    <settings>
      <AutoPlayAfterCall>0</AutoPlayAfterCall>
      <AutoDeMuteAfterCall>0</AutoDeMuteAfterCall>
      <PrimaryPicturePath>c:\avatar.png</PrimaryPicturePath>
    </settings>
  </VMC_CallMonitor>
  <Win_Application>
    <Language>de</Language>
  </Win_Application>
</Settings>


Also was ich jetzt vorhabe, ich würde gerne an verschiedenen Stellen meines Programms verschiedene XML "Werte" Abfragen, z.b. die BoxIP. Nur denke ich das der Code von oben das nicht wirklich bringt. Hat jemand nen heißen Tip für mich was falsch läuft oder was geändert werden muss damit ich auf das Ergebnis komme, das ich halt die BoxIP als String in meinem Programm verwenden kann.

Für Hilfe wäre ich echt dankbar.

Mit freundlichem Gruß
Chronos


Kha - So 13.04.08 22:34

Wäre noch nett zu erfahren, was genau nun eigentlich das Problem ist ;) . Der XPath passt aber jedenfalls hinten und vorne nicht zum XML :gruebel: . Ich würde es eher mit "/Settings/GlobalSettings/BoxIP" versuchen.


Chronos - So 13.04.08 22:42

Hey, ja das Problem ist das ich z.B nicht an die IP ran komme. Das ist primär das Problem.


weisseruebe - Mi 07.05.08 12:31

Kennst Du das mitgleiferte Application-Settings-Zeug?
Das macht eigentlich genau das, was Du willst.