Информационный портал
pocket versionPOCKET  wikiWIKI  FAQFAQ  ПоискПоиск  ПользователиПользователи  ГруппыГруппы  РегистрацияРегистрация  ПрофильПрофиль  Войти и проверить личные сообщенияВойти и проверить личные сообщения  ВходВход

как с помощью msxml считать заголовок?

 
Найти сообщения без ответов
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> FB - разработка и программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение


Eric-S
Новенький участник форума

Новенький участник форума

Зарегистрирован: 29.02.2008
Сообщения: 4
Откуда: Sankt-Peterburg

СообщениеДобавлено: Пт Фев 29, 2008 18:48    Заголовок сообщения: как с помощью msxml считать заголовок? Ответить с цитатой

Подскажите пожалуйста, как прочитать информацию о книге с помощью msxml.

Споткнулся на атрибутах элемента fictionbook
Загружаю и т.д. Это всё понятно.

xmlDoc.setProperty "SelectionLanguage", "XPath"
Set objListOfNodes = xmlDoc.selectNodes("//*")

Так я могу перебрать все узлы. А как мне прочитать нужные?
Вроде без атрибутов у меня получаеться, но реальная книга не парсится.

Мне конкретно сейчас нужно имя автора, название книги, жанр и серию. Но я с xml только начал и ещё путаюсь. Знаете, как в анегдоте - руки мешают!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


GribUser
Автор формата FB2 - Автор библиотеки FB

Автор формата FB2 - Автор библиотеки FB

Зарегистрирован: 30.09.2004
Сообщения: 2475
Откуда: Москва

СообщениеДобавлено: Пт Фев 29, 2008 19:03    Заголовок сообщения: Ответить с цитатой

с нэймспейсами посмотрите, там надо выбирать не /FictionBook/description/....
а /fb:FictionBook/fb:description/..., предварительно объявив, что префикс fb: прявязан к URI FictionBook (что-то там на gribuser.ru). Как это конкретно оформляется с MSXML я уже не помню.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора


Eric-S
Новенький участник форума

Новенький участник форума

Зарегистрирован: 29.02.2008
Сообщения: 4
Откуда: Sankt-Peterburg

СообщениеДобавлено: Пт Фев 29, 2008 19:32    Заголовок сообщения: Ответить с цитатой

Жуть!
Я с namespace работать не умею.
Видно придётся разбераться, что это такое.
Спасибо за наводку.

Думал всё из-за атрибутов
<FictionBook xmlns:l="http://www.w3.org/1999/xlink" xmlns="http://www.gribuser.ru/xml/fictionbook/2.0">
Их удаляю, всё в норме, а реальную книгу не читает.

Добавлено спустя 13 часов 29 минут 34 секунды:

Не понял, а как мне сделать привязку к пространству имён?
xmlDoc.setProperty "SelectionNamespaces", "xmlns:xsl='http://www.gribuser.ru/xml/fictionbook/2.0' xmlns:fb:='http://...'
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail


Admor
Новенький участник форума

Новенький участник форума

Зарегистрирован: 26.11.2007
Сообщения: 6

СообщениеДобавлено: Ср Июн 04, 2008 11:59    Заголовок сообщения: Ответить с цитатой

я тож только начал....
только пользуюсь .NET...смотри как у меня
Код:
XPathDocument document = new XPathDocument(filename);
            XPathNavigator navigator = document.CreateNavigator();

            XmlNamespaceManager nsManager = new XmlNamespaceManager(navigator.NameTable);
            nsManager.AddNamespace("fb", "http://www.gribuser.ru/xml/fictionbook/2.0");
            XPathNodeIterator nodes = navigator.Select("/fb:FictionBook/fb:description/fb:title-info/fb:genre",nsManager);
            while (nodes.MoveNext())
            {
                richTextBox1.AppendText(nodes.Current.Name +"=\""+ nodes.Current.Value+"\"\n");
            }

и на выходе получаю
Цитата:
genre="history_russia"
genre="romance_historical"
genre="literature_classics"
genre="literature_history"
genre="literature_war"
genre="literature_rus_classsic"
genre="computers"


Добавлено спустя 1 минуту 13 секунд:

Very Happy
блин....на дату даже не посмотрел Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Yahoo Messenger


Michael
Новенький участник форума

Новенький участник форума

Зарегистрирован: 28.05.2008
Сообщения: 4
Откуда: Canada

СообщениеДобавлено: Вт Июн 10, 2008 6:34    Заголовок сообщения: Ответить с цитатой

Посмотрите в соседнем топике, "Вопрос ламера". Там есть рабочий (хотя и не завершённый) код для .НЕТ
Вернуться к началу
Посмотреть профиль Отправить личное сообщение


Admor
Новенький участник форума

Новенький участник форума

Зарегистрирован: 26.11.2007
Сообщения: 6

СообщениеДобавлено: Ср Июн 11, 2008 10:32    Заголовок сообщения: Ответить с цитатой

так у мну тоже рабочий Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Yahoo Messenger


Eric-S
Новенький участник форума

Новенький участник форума

Зарегистрирован: 29.02.2008
Сообщения: 4
Откуда: Sankt-Peterburg

СообщениеДобавлено: Ср Июн 11, 2008 10:40    Заголовок сообщения: Ответить с цитатой

По любому, для меня уже вопрос решён. Возможно там остались некоторые непонятки, ну да фиг с ним.


Я сейчас мучаюсь с ado.net, не знаю как достучаться до какой-нибудь базы данных. Даже не знаю точно с чего начать. А опыт работы с adoX и mysql не очень-то помогает.

Впрочем сиё тоже не актуально, поскольку временно нет доступа к машине, где можно программить. Вот после этого и задумывайся кодить чего-нибудь серьёзное.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов www.fictionbook.org -> FB - разработка и программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group