Siento molestarte con una pregunta tan sencilla, pero me tengo que quedar aquí desde una hora:XmlElement.SelectNodes (..) - no encuentra nada .. ¿Ayuda?
Tengo un archivo XML que se ve algo como esto:
<?xml version="1.0" encoding="utf-8"?>
<aaa xmlns="http://blabla.com/xmlschema/v1">
<bbb>
<ccc>Foo</ccc>
</bbb>
<ddd x="y" />
<ddd x="xx" />
<ddd x="z" />
</aaa>
Estoy intentando acceder los elementos 'ddd' como esto:
var doc = new XmlDocument();
doc.Load("example.xml");
foreach (XmlNode dddNode in doc.DocumentElement.SelectNodes("//ddd"))
{
// do something
Console.WriteLine(dddNode.Attributes["x"].Value);
}
En tiempo de ejecución del bucle foreach se omite porque no consigo ningún nodo posterior del método .SelectNodes. Rompí antes del ciclo y eché un vistazo a InnerXML, que se ve bien, y también probé todo tipo de XPath (como "// bbb" o "/ aaa/ddd"), pero solo "/" parece no regresar nulo.
Este código exacto funcionó para mí antes, ahora no es así. Sospecho que algo con esa declaración de espacio de nombres en la etiqueta aaa, pero no pude entender por qué esto debería causar problemas. O ... ¿puedes ver algo que me pueda estar perdiendo?