Извините, что беспокою вас за такой простой вопрос, но я застрял здесь с часом:
У меня есть XML-файл, который выглядит примерно так:
<?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>
Iя пытаюсь получить доступ к элементам 'ddd' следующим образом:
var doc = new XmlDocument();
doc.Load("example.xml");
foreach (XmlNode dddNode in doc.DocumentElement.SelectNodes("//ddd"))
{
// do something
Console.WriteLine(dddNode.Attributes["x"].Value);
}
Во время выполнения цикл foreach пропускается, потому что я не получаю никаких узлов обратно из метода .SelectNodes.Я сломал перед циклом и посмотрел на InnerXML, который выглядит хорошо, и я также попробовал все виды XPath (например, "// bbb" или "/ aaa / ddd"), но только "/", кажется, не возвращаетnull.
Этот точный код работал у меня раньше, теперь нет.Я подозреваю что-то с этим объявлением пространства имен в теге aaa, но я не мог понять, почему это должно вызывать проблемы.Или ... ты видишь что-нибудь, чего мне не хватает?