Entwickler-Ecke

IO, XML und Registry - Probleme mit XPath


Pruit - So 16.05.10 16:14
Titel: Probleme mit XPath
Hallo Leute,
hab ein Problem mit XPath und komm einfach nicht auf die passende Lösung.
Ich habe folgende XML-Datei:

XML-Daten
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
<TinyBar>
  <Loadoptions>
    ...
  </Loadoptions>
  <Sections>
    ...
  </Sections>
  <Icons>
    ...
    <Icon id="1">
      <Name>Test Programm</Name>
      <Path>D:\Programme\Test\Test.exe</Path>
      <UsedIcon>0</UsedIcon>
      <Section>0</Section>
    </Icon>
    ...
  </Icons>
</TinyBar>


Hierbei möchte ich nun mit XPath auf <TinyBar> -> <Icons> -> <Icon> -> <Name> Test
und den Inhalt mit einem String vergleichen und dann die komplette Icon Struktur mit
dem passenden Namen auswählen.
Folgendes hatte ich, was aber nicht funktioniert :


C#-Quelltext
1:
xmldoc.SelectSingleNode("/TinyBar/Icons/Icon[Name= '" + name + " ']")                    

wobei name dann der gesuchte String ist.

Hoffe ihr könnt mir helfen!
Danke


Kha - So 16.05.10 16:46

...und deshalb string.Format ;) .


C#-Quelltext
1:
xmldoc.SelectSingleNode("/TinyBar/Icons/Icon[Name= '" + name + " ']")                    


Edit: Oder natürlich XElement :) :

C#-Quelltext
1:
tinyBar.Element("Icons").Elements("Icon").Single(icon => icon.Element("Name").Value == name);                    

Je nach Geschmack, aber damit muss man sich nur mit einer Sprache herumschlagen und nicht zwei ;) .


Pruit - So 16.05.10 17:00

Ja, danke! Ein Leerzeichen.. grr, wie ich solche Fehler hasse!
Dank dir, jetzt funktionierts!