.NET 3.x Поиск узла в xml посредством DocumentElement.SelectNodes (двоеточие в xPath) - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте все! Подскажите как быть, у меня в xml файле многие узлы в имени содержат двоеточие? например вот так: "office:docunemt-content", в связи с чем xPath выглядит примерно вот так: "/office:docunemt-content/office:body/office:spreadsheet/table:table". Но при таком xPath параметре SelectNodes выдает ошибку и требует дополнительно XmlNamespaceManager. А если использовать XmlNamespaceManager, то насколько я понимаю, xPath должен выглядеть вот так: "/ns:office:docunemt-content/ns:office:body/ns:office:spreadsheet/ns:table:table". Но в этом случае SelectNodes выдает ошибку "недопустимый указатель (token)", (что вродебы тоже логично...) ... подскажите, я гдето туплю? или с таким форматом имен недопустимо использование SelectNodes()? ... тогда что, остается всемогущий forech()?

Решение задачи: «.NET 3.x Поиск узла в xml посредством DocumentElement.SelectNodes (двоеточие в xPath)»

textual
Листинг программы
            XmlDocument d=new XmlDocument();
            XmlNamespaceManager nsmgr = new XmlNamespaceManager(d.NameTable);
            nsmgr.AddNamespace("office","http://vova.net/ukr");
            d.Load(strPathToXML);
            XmlNodeList nodes=d.SelectNodes("//office:docunemt-content", nsmgr);
            XmlNodeList nodes=d.SelectNodes("//office:docunemt-content/office:gerl", nsmgr);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.429 из 5
Похожие ответы