.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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д