Derzeit versuche ich, einen Namen aus einer XML-Liste nach dem Zufallsprinzip auszuwählen und in der Konsole zu drucken. Der Knoten scheint jedoch immer null zu sein. Meine XML sieht wie folgt aus:C#/Monogame - Das Lesen in einem einzelnen Knoten aus XML gibt immer NULL zurück
<?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>
und 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);
Vielen Dank im Voraus für Ihre Hilfe
Mögliche Duplikat [XML Document SelectSingleNode gibt null zurück] (http: // Stackoverflow .com/questions/17161317/xml-document-selectsinglenode-returns-null) –
'/ ...' wählt * aus dem Wurzelknoten *, also '/ nameData' existiert nicht, oder? –