|   |   | 
| 
 | Ошибка при чтении 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) действительно работает!! спасибо! 
 Домен у меня тоже без префикса протокола был, а вот из-за слэша не грузилось ничего! | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |