Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Eric-S Новенький участник форума
Зарегистрирован: 29.02.2008 Сообщения: 4 Откуда: Sankt-Peterburg
|
Добавлено: Пт Фев 29, 2008 18:48 Заголовок сообщения: как с помощью msxml считать заголовок? |
|
|
Подскажите пожалуйста, как прочитать информацию о книге с помощью msxml.
Споткнулся на атрибутах элемента fictionbook
Загружаю и т.д. Это всё понятно.
xmlDoc.setProperty "SelectionLanguage", "XPath"
Set objListOfNodes = xmlDoc.selectNodes("//*")
Так я могу перебрать все узлы. А как мне прочитать нужные?
Вроде без атрибутов у меня получаеться, но реальная книга не парсится.
Мне конкретно сейчас нужно имя автора, название книги, жанр и серию. Но я с xml только начал и ещё путаюсь. Знаете, как в анегдоте - руки мешают! |
|
Вернуться к началу |
|
|
GribUser Автор формата FB2 - Автор библиотеки FB
Зарегистрирован: 30.09.2004 Сообщения: 2475 Откуда: Москва
|
Добавлено: Пт Фев 29, 2008 19:03 Заголовок сообщения: |
|
|
с нэймспейсами посмотрите, там надо выбирать не /FictionBook/description/....
а /fb:FictionBook/fb:description/..., предварительно объявив, что префикс fb: прявязан к URI FictionBook (что-то там на gribuser.ru). Как это конкретно оформляется с MSXML я уже не помню. |
|
Вернуться к началу |
|
|
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://...' |
|
Вернуться к началу |
|
|
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 секунд:
блин....на дату даже не посмотрел |
|
Вернуться к началу |
|
|
Michael Новенький участник форума
Зарегистрирован: 28.05.2008 Сообщения: 4 Откуда: Canada
|
Добавлено: Вт Июн 10, 2008 6:34 Заголовок сообщения: |
|
|
Посмотрите в соседнем топике, "Вопрос ламера". Там есть рабочий (хотя и не завершённый) код для .НЕТ |
|
Вернуться к началу |
|
|
Admor Новенький участник форума
Зарегистрирован: 26.11.2007 Сообщения: 6
|
Добавлено: Ср Июн 11, 2008 10:32 Заголовок сообщения: |
|
|
так у мну тоже рабочий |
|
Вернуться к началу |
|
|
Eric-S Новенький участник форума
Зарегистрирован: 29.02.2008 Сообщения: 4 Откуда: Sankt-Peterburg
|
Добавлено: Ср Июн 11, 2008 10:40 Заголовок сообщения: |
|
|
По любому, для меня уже вопрос решён. Возможно там остались некоторые непонятки, ну да фиг с ним.
Я сейчас мучаюсь с ado.net, не знаю как достучаться до какой-нибудь базы данных. Даже не знаю точно с чего начать. А опыт работы с adoX и mysql не очень-то помогает.
Впрочем сиё тоже не актуально, поскольку временно нет доступа к машине, где можно программить. Вот после этого и задумывайся кодить чего-нибудь серьёзное. |
|
Вернуться к началу |
|
|
|