Извините, что беспокою вас таким простым вопросом, но я застрял здесь на час:
У меня есть 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>
Я пытаюсь получить доступ к 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»), но только «/», похоже, не возвращает нулевой.
Этот точный код работал у меня раньше, теперь - нет. Я подозреваю что-то в этом объявлении пространства имен в теге aaa, но я не мог понять, почему это должно вызывать проблемы. Или .. ты видишь что-нибудь, что мне может не хватать?