Допустим, у меня есть следующий xml (быстрый пример)
<rows>
<row>
<name>one</name>
</row>
<row>
<name>two</name>
</row>
</rows>
Я пытаюсь разобрать это с помощью XmlDocument и XPath (в конечном итоге, я могу составить список строк).
Например...
XmlDocument doc = new XmlDocument();
doc.LoadXml(xml);
foreach(XmlNode row in doc.SelectNodes("//row"))
{
string rowName = row.SelectSingleNode("//name").InnerText;
}
Почему в моем цикле foreach значение rowName всегда "одно"? Я ожидаю, что это будет "один" на первой итерации, а "второй" - на второй.
Кажется, что//имя получает первый экземпляр в документе, а не первый экземпляр в строке, как я ожидал. В конце концов, я вызываю метод на узле "строка". Если это "то, как это работает", тогда кто-нибудь может объяснить, как я могу изменить его, чтобы работать на мои нужды?
спасибо