Erelid |
|
Je kan via SelectSingleNode("//query[@name='Software skills']") een bepaalde node selecteren op basis van attribuut (zie XPATH syntax).
Die // houdt in dat je vanaf je object waarop je het aanroept vertrekt, en overal eronder zoekt.
Ik zou je een stuk voorbeeld geven maar de server waarop ik gisteren iets gelijkaardigs ontwikkelde is zonet gecrasht en in 'behandeling'
edit: w00t, heb nog stukje lokaal group.Id is gewoon een string in dit geval.
// Find associated plugins
XmlNodeList plugins = pluginRegisterXML.SelectNodes("//Step[@PluginGroupId='" + group.Id + "']");
foreach (XmlNode plugin in plugins)
{
// Doet iets met die node hier
}
// Find associated plugins XmlNodeList plugins = pluginRegisterXML.SelectNodes("//Step[@PluginGroupId='" + group.Id + "']"); foreach (XmlNode plugin in plugins) { // Doet iets met die node hier }
edit 2: excuseer, had de vraag mis begrepen... zoals hieronder gezegd moet je inderdaad het attribuut hebben -> als je een node hebt kan je gewoon mijnNode.Attributes["naamvanhetattribuut"].Value opvragen. Wel even checken op null best.
XmlDocument doc = new XmlDocument();
doc.Load(Server.MapPath("config.xml"));
XmlNodeList queries = doc.GetElementsByTagName("query");
foreach (XmlNode query in queries)
{
string name = "";
if (query.Attributes["name"] != null)
{
name = query.Attributes["name"].Value;
}
Console.WriteLine("{0} ({1}) is written by {2}\n", query.InnerText, name);
}
XmlDocument doc = new XmlDocument (); doc.Load(Server.MapPath("config.xml")); XmlNodeList queries = doc.GetElementsByTagName("query"); foreach (XmlNode query in queries) { string name = ""; if (query.Attributes["name"] != null) { name = query.Attributes["name"].Value; } Console.WriteLine("{0} ({1}) is written by {2}\n", query.InnerText, name); }
|