В настоящее время я пытаюсь случайно выбрать имя из списка XML и распечатать его в консоли. Однако узел всегда имеет значение null. Мой XML выглядит следующим образом:C#/Monogame - Чтение в одном узле из XML всегда возвращает NULL
<?xml version="1.0" encoding="utf-8"?>
<XnaContent xmlns:ns="Microsoft.Xna.Framework">
<Asset Type="Object">
<nameData>
<firstName>
<name>Charles</name>
<name>David</name>
<name>Bob</name>
<name>John</name>
</firstName>
</nameData>
</Asset>
</XnaContent>
И C#:
//create XML document
XmlDocument doc = new XmlDocument();
//load in XML file to doc
doc.Load("Content/XML/Names.xml");
Random rand = new Random();
int count = 1;
//Set count to be the number of name nodes in the first name field
count = doc.SelectNodes("//firstName/name").Count;
//set randVal so it never exceeds amount of name nodes
int randVal = rand.Next(count);
// set objNode to the name at position()
XmlNode objNode = doc.SelectSingleNode("/nameData/firstName/name[position() = " + rand + "]");
//Write the randomly chosen name to console
Console.WriteLine(objNode.InnerText);
Заранее спасибо за помощь
Возможный дубликат [XML документа SelectSingleNode возвращает нуль] (HTTP: // StackOverflow .com/questions/17161317/xml-document-selectsinglenode-returns-null) –
'/ ...' выбирает * из корневого узла *, поэтому '/ nameData' не существует, не так ли? –