Ho un XML che va in questo modo:XPath: come selezionare un nodo tramite il suo attributo?
<?xml version="1.0" encoding="utf-8" ?>
<colors>
<color index = "0">#FF0000</color>
<color index = "1">#FF0200</color>
<color index = "2">#FF0300</color>
<color index = "3">#FF0500</color>
[..]
sto cercando di selezionare un nodo da suo indice:
XmlDocument ColorTable = new XmlDocument();
ColorTable.Load(HttpContext.Current.Server.MapPath("~/App_Data/ColorTable.xml"));
int percentage = 2;
string xpath = string.Format(@"//color[index={0}]", percentage.ToString());
//string xpath = string.Format(@"//color[index=""{0}""]", percentage.ToString());
//string xpath = string.Format(@"//color[index='{0}']", percentage.ToString());
var r = ColorTable.SelectSingleNode(xpath).Value;
ho provato anche le versioni commentate, ma non restituisce alcun risultato. Qualche suggerimento?
Perché il 0 devono essere racchiuso tra parentesi graffe? Io uso XPATH all'interno di Novell IDM e @ index = 0 sarebbe stato sufficiente lì. Cosa indicano le parentesi graffe? – geoffc
la sua non è una parte del XPath, è parte del String.Format, sarà sostituisce con il 1 ° param (cioè in percentuale) –