Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут
закрыты.
Читайте
требования к создаваемым темам.
-
kifiro
-
- Начинающий
-
-
- Сообщения: 22
- Зарегистрирован: 06.09.2008 (Сб) 18:57
kifiro » 07.09.2008 (Вс) 8:10
Есть XML файл на сервере, который постоянно обновляется, возникла проблема с его загрузкой, если с харда
XXX.load "c:\1.xml"
то как быть с загрузкой из интернета?
-
Antonariy
-
- Повелитель Internet Explorer
-
-
- Сообщения: 4824
- Зарегистрирован: 28.04.2005 (Чт) 14:33
- Откуда: Мимо проходил
-
Antonariy » 07.09.2008 (Вс) 17:16
load прекрасно понимает интернет-адреса.
Лучший способ понять что-то самому — объяснить это другому.
-
kifiro
-
- Начинающий
-
-
- Сообщения: 22
- Зарегистрирован: 06.09.2008 (Сб) 18:57
kifiro » 07.09.2008 (Вс) 23:11
Хм....
Пишу значит:
- Код: Выделить всё
Set xmlParser = CreateObject("Msxml2.DOMDocument")
xmlParser.async = False
xmlParser.Load "http://xxx.ru/test.xml"
Set colNodes = xmlParser.getElementsByTagName("item")
For Each nodeProduct In colNodes
Label1.Caption = Label1.Caption + "-" + nodeProduct.getAttribute("x")
Label2.Caption = Label2.Caption + "-" + nodeProduct.getAttribute("y")
Next
Пустоту получаю, а если
- Код: Выделить всё
xmlParser.Load "c:\test.xml"
Всё замечательно.
-
dr.MIG
-
- Гуру
-
-
- Сообщения: 1441
- Зарегистрирован: 18.12.2004 (Сб) 9:53
- Откуда: г.Ярославль
-
dr.MIG » 08.09.2008 (Пн) 0:01
А как насчёт после load подождать полной загрузки файла? Она ведь не мгновенно происходит и просто не успевает за скоростью выполнения кода.
Salus populi suprema lex
-
kifiro
-
- Начинающий
-
-
- Сообщения: 22
- Зарегистрирован: 06.09.2008 (Сб) 18:57
kifiro » 08.09.2008 (Пн) 18:45
Ставил задержку, не помогло(
-
Andrey Fedorov
-
- Член-корреспондент академии VBStreets
-
-
- Сообщения: 3287
- Зарегистрирован: 21.05.2004 (Пт) 9:28
- Откуда: Москва
Andrey Fedorov » 09.09.2008 (Вт) 11:08
Типа так
- Код: Выделить всё
Do Until iПопытка > 10
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
' Создаем экземпляр объекта - XML парсера
oXMLHTTP.Open "GET", sUrlRequest, False, StrReverse("shsdhj"), StrReverse("351423")
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
If X.loadXML(oXMLHTTP.responseText) Then Exit Do
End If
If Not oXMLHTTP Is Nothing Then oXMLHTTP.abort: Set oXMLHTTP = Nothing
DoEvents
iПопытка = iПопытка + 1
Loop
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...
-
ANDLL
-
- Великий гастроном
-
-
- Сообщения: 3450
- Зарегистрирован: 29.06.2003 (Вс) 18:55
-
ANDLL » 09.09.2008 (Вт) 12:10
Andrey Fedorov писал(а):Типа так
- Код: Выделить всё
Do Until iПопытка > 10
Set oXMLHTTP = CreateObject("MSXML2.XMLHTTP")
' Создаем экземпляр объекта - XML парсера
oXMLHTTP.Open "GET", sUrlRequest, False, StrReverse("shsdhj"), StrReverse("351423")
oXMLHTTP.send
If oXMLHTTP.Status = 200 Then
If X.loadXML(oXMLHTTP.responseText) Then Exit Do
End If
If Not oXMLHTTP Is Nothing Then oXMLHTTP.abort: Set oXMLHTTP = Nothing
DoEvents
iПопытка = iПопытка + 1
Loop
Довольно глупый по стилю код, а главное, "load прекрасно понимает интернет-адреса."
Гастрономия - наука о пище, о ее приготовлении, употреблении, переварении и испражнении.
Блог
-
kifiro
-
- Начинающий
-
-
- Сообщения: 22
- Зарегистрирован: 06.09.2008 (Сб) 18:57
kifiro » 09.09.2008 (Вт) 14:30
Всем спасибо, задержка помогла!
Только почему-то браузер xml грузит намного быстрее чем load
Вернуться в Visual Basic 1–6
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 81