|
Ошибка при чтении xml с сайта | ☑ | ||
---|---|---|---|---|
0
vasiliskas
05.02.15
✎
17:33
|
Друзья! Пытаюсь прочитать xml (платформа 8.3.5.1383),
код простой: ПолныйПутьКФайлу = "http://www.НАШСАЙТ.РУ/НАШФАЙЛ.xml"; Чт = Новый ЧтениеXML; Чт.ОткрытьФайл(ПолныйПутьКФайлу); //получаю ЧтениеXML Чт.Прочитать(); //вылетает с ошибкой Сообщение об ошибке: Ошибка разбора XML: - [1,1] Фатальная ошибка: Extra content at the end of the document SystemId: http://www.НАШСАЙТ.РУ/НАШФАЙЛ.xml есть предположение что файл слишком большой, подскажите как это побороть?? |
|||
1
vasiliskas
05.02.15
✎
17:34
|
ПолныйПутьКФайлу как то странно запостилось сюда, там просто полный адрес сайта http://www.НАШСАЙТ.РУ/НАШФАЙЛ.xml
|
|||
2
mehfk
05.02.15
✎
17:36
|
||||
3
ShoGUN
05.02.15
✎
17:36
|
(0) Получить файл HTTP-запросом, потом уже читать?
|
|||
4
vasiliskas
05.02.15
✎
17:38
|
(2) если файл сохранить и ничего в нем не редактировать то он читается нормально, без ошибок. так что есть предположение, что сам файл нормальный а ошибку он выдает потому что не успевает весь его получить с сайта
|
|||
5
mehfk
05.02.15
✎
17:38
|
(2)+ Кроме того, у меня есть сомнения, что в качестве имени файла можно указывать его адрес на http
|
|||
6
vasiliskas
05.02.15
✎
17:39
|
(3) спасибо, сейчас попробую
|
|||
7
ShoGUN
05.02.15
✎
17:40
|
СоединениеССервисом = Новый HTTPСоединение(Домен,80);
Заголовки = Новый Соответствие; Заголовки.Вставить("Host",Домен); ЗапросКСервису = Новый HTTPЗапрос; ЗапросКСервису.АдресРесурса = АдресНаСервере; ЗапросКСервису.Заголовки = Заголовки; Попытка Ответ = СоединениеССервисом.Получить(ЗапросКСервису); Сообщить(Ответ.КодСостояния); ТелоОтвета = Ответ.ПолучитьТелоКакСтроку(); //Сообщить(ТелоОтвета); ТекстОтвета = Новый ТекстовыйДокумент; ТекстОтвета.УстановитьТекст(ТелоОтвета); ЧтениеXML = Новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(ТелоОтвета); Исключение Сообщить(ОписаниеОшибки(),СтатусСообщения.ОченьВажное); КонецПопытки; |
|||
8
ShoGUN
05.02.15
✎
17:41
|
Как-то так, код рабочий, проверялся. Переменные некоторые не инициализированы(передаются в функцию), но по смыслу всё понятно.
|
|||
9
ShoGUN
05.02.15
✎
17:44
|
ТекстОтвета = Новый ТекстовыйДокумент;
ТекстОтвета.УстановитьТекст(ТелоОтвета); Это можно выкинуть, для отладки юзалось. |
|||
10
vasiliskas
05.02.15
✎
19:15
|
(8) Спасибо! но почему то не работает
мой адрес вот "http://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.xml" Домен = "http://www.ecb.europa.eu" АдресНаСервере = "stats/eurofxref/eurofxref-hist.xml" Ответ не получаю попадаю в исключение описание ошибки пусто |
|||
11
ShoGUN
05.02.15
✎
21:17
|
(10) Мне по ссылке выдаёт 404. Тупо браузером. Имя/путь проверьте.
|
|||
12
ShoGUN
05.02.15
✎
21:18
|
+(11) А, пардон, получил. Ща проверю получение 1с-кой.
|
|||
13
ShoGUN
05.02.15
✎
21:31
|
Две ошибки в параметрах :)
- Домен указывается без префикса протокола: "http://www.ecb.europa.eu" => "http://www.ecb.europa.eu" - Слэш после имени домена является частью адреса ресурса на сервере: "stats/eurofxref/eurofxref-hist.xml" => "/stats/eurofxref/eurofxref-hist.xml" Я файл успешно скачал после этих исправлений. |
|||
14
ShoGUN
05.02.15
✎
21:32
|
Блин, кривой парсер ссылок ( в общем указывать адрес надо без "http://"
|
|||
15
vasiliskas
06.02.15
✎
10:05
|
(14) действительно работает!! спасибо!
Домен у меня тоже без префикса протокола был, а вот из-за слэша не грузилось ничего! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |