Получение данных из XML

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Получение данных из XML

Сообщение Kolobuk » 03.11.2006 (Пт) 20:56

Искал, находил, но всё не то, либо не работает :)
наиболее подходящая тема: http://bbs.vbstreets.ru/viewtopic.php?t ... hlight=xml , но не работает у меня :(

-----------
Собственно что нужно?
Есть сайт с ОТЛИЧНЫМ прогнозированием погоды. Показывает температуру, температуру по ощущениям, ветер, осадки и т.п. и т.д.
www.weather.com

Есть RSS канал ХТТП://xoap.weather.com/weather/local/RSXX0091?cc=&dayf=3&prod=xoap&link=xoap&par=1006341644&key=0647abc97052c741&unit=m

RSXX0091 - код города С-Пб
3 - кол-во прогнозируемых дней

Хотел написать мелкую прогу для просмотра погоды, чтобы не пользоваться браузерами\просмоторщиками RSS


Может кто заинтересуется и поможет?

(В rss'е даже есть ID (от 0 до 48 ) иконки погоды - солнце, дождь и т.п. - нарыл ссылку на неё - ХТТП://image.weather.com/web/common/wxicons/25/ID.gif - это я так... если кому интересно)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 03.11.2006 (Пт) 21:30

А как ты пытался?
Чем не подошел MSXML?
Lasciate ogni speranza, voi ch'entrate.

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 03.11.2006 (Пт) 21:36

Код: Выделить всё
Dim XMLDoc As MSXML2.DOMDocument
Dim Node As MSXML2.IXMLDOMElement

Set XMLDoc = New MSXML2.DOMDocument
...
Set Node = XMLDoc.selectSingleNode("node_path")
If (Node Is Nothing) Then
    ...
End If


Dim Node As MSXML2.IXMLDOMElement - ругается "Compile error. User-Defined type not defined"

Как я понял, модуль не поключён? Проблема аналогична проблеме Rojohn'а (http://bbs.vbstreets.ru/viewtopic.php?p=162973#162973)

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 04.11.2006 (Сб) 1:13

Решил искать данные в xml документе, как в простом текстовом файле. Но вот проблема:

http://xoap.weather.com/weather/local/R ... 741&unit=m - вводим в IE6 - жмём правую кнопку мыши >>> В виде html - видим xml документ.

Пишу в проге:
Код: Выделить всё
Dim S as String
S = "http://xoap.weather.com/weather/local/RSXX0091?cc=&dayf=3&prod=xoap&link=xoap&par=1006341644&key=0647abc97052c741&unit=m"

WebBrowser1.Navigate S

'ждём загрузки документа...

'Выводим содержимое загруженной страницы в текстовое поле:
Text1 = WebBrowser1.Document.documentElement.outerHTML


Получаю совсем не xml документ, а html с кучей CSS, DIV и Java-скриптов. Как быть?

-----------
Не ругайте меня сильно :wink:
На запрос "XML" находится аж 7 страниц. Всё перелопатил - что-то не понял, что-то не "совсем то". С XML вообще первый раз столкнулся.




----------
Нашёл исходники dll-ки, которая принимает погоду с этого сайта. Но исходники на С++. Может кто разберётся :)

Sergeant Pepper
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 25.08.2006 (Пт) 8:49

Сообщение Sergeant Pepper » 04.11.2006 (Сб) 11:27

Kolobuk писал(а):Dim Node As MSXML2.IXMLDOMElement - ругается "Compile error. User-Defined type not defined"
Как я понял, модуль не поключён?

А подключать библиотеку Microsoft XML, v ?.0 пробовали (Project-References)?

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 04.11.2006 (Сб) 11:32

Библиотека подключена. Версия 4.0:

Изображение

Kolobuk
Обычный пользователь
Обычный пользователь
 
Сообщения: 61
Зарегистрирован: 24.10.2006 (Вт) 20:03

Сообщение Kolobuk » 05.11.2006 (Вс) 12:45

Человеки, помогите пожалуйста :roll:

Sergeant Pepper
Новичок
Новичок
 
Сообщения: 31
Зарегистрирован: 25.08.2006 (Пт) 8:49

Сообщение Sergeant Pepper » 05.11.2006 (Вс) 12:59

Kolobuk писал(а):Человеки, помогите пожалуйста :roll:

Ошибки быть не должно. Ругается точно на строке
Код: Выделить всё
    Dim Node As MSXML2.IXMLDOMElement
?
Попробуйте использовать
Код: Выделить всё
    Dim Node As MSXML2.IXMLDOMNode

Может имя переменной изменить?


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 129

    TopList