XPathNavigator и Namespaces
От: Аноним  
Дата: 06.12.07 14:14
Оценка:
Юзаю код

        XPathDocument xpdoc = new XPathDocument(PATH);
        XPathNavigator nav = xpdoc.CreateNavigator();
        
                string path = "ListOfBooks/Book/Price";
        XPathNodeIterator iterator1 = nav.Select(path);


Проблема в том, что у элемента Price есть нэймспэйс

 <Book>
  <cat_ru:Price>50</cat_ru:Price>
 </Book>


Как бы заставить это работать?
У метода Select есть второй параметр типа IXmlNamespaceResolver,
но че та по нему ничего не ищется
Видимо, должно решаться как-то по-другому

Заранее спасибо!
Re: XPathNavigator и Namespaces
От: den123 Израиль http://den123.smugmug.com
Дата: 06.12.07 14:20
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Юзаю код

...

local_name()="Price"
WBR — Yuriy
Re: XPathNavigator и Namespaces
От: Lloyd Россия  
Дата: 06.12.07 14:30
Оценка: 1 (1) +1
Здравствуйте, Аноним, Вы писали:

А>Заранее спасибо!


XPathDocument doc = new XPathDocument(File.OpenText("Test.xml"));
XPathNavigator nav = doc.CreateNavigator();
XmlNamespaceManager namespaceManager = new XmlNamespaceManager(nav.NameTable);
namespaceManager.AddNamespace("cat_ru", "preved-medved");
Console.WriteLine(nav.Select("//Book/cat_ru:Price", namespaceManager).Count);
Re[2]: XPathNavigator и Namespaces
От: Аноним  
Дата: 07.12.07 06:16
Оценка:
Здравствуйте, Lloyd, Вы писали:

L>
L>XPathDocument doc = new XPathDocument(File.OpenText("Test.xml"));
L>XPathNavigator nav = doc.CreateNavigator();
L>XmlNamespaceManager namespaceManager = new XmlNamespaceManager(nav.NameTable);
L>namespaceManager.AddNamespace("cat_ru", "preved-medved");
L>Console.WriteLine(nav.Select("//Book/cat_ru:Price", namespaceManager).Count);
L>


Спасиба!

Вот тут подробней
http://msdn2.microsoft.com/en-us/library/6k4x060d.aspx
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.