powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / LoadXML Есть ли ограничения на размер строки XML? Как загрузить XML в несколько приемов?
4 сообщений из 4, страница 1 из 1
LoadXML Есть ли ограничения на размер строки XML? Как загрузить XML в несколько приемов?
    #36882176
chumansky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Метод loadXML(arg) объекта Msxml2.DOMDocument при некотором (порядка 500 000 символов) размере дает ошибку.

Я работаю с объектом Msxml2.DOMDocument из 1С77, Получаю строку содержащую XML от ВЭБ-Сервиса

Код: plaintext
1.
2.
3.
4.
5.
ДОМДок = СоздатьОбъект("Msxml2.DOMDocument"); 
ДОМДок.async =  0 ;
ДОМДок.resolveExternals =  0 ; 
ДОМДок.validateOnParse =  0 ; 
Результат = Сервис.getAccFactsSale(<data1>,<data2>);
ДОМДок.loadXML(Результат);

Когда строка "Результат" имеет небольшие размеры до примерно 500 000 символов все проходит гладко, но когда размеры больше, 1С вылетает.

Проверял похожий кусок кода на VB, все работает безупречно при любом размере строки "Результат". Получается дело в 1С, в том что она видимо не понимает слишком больших строк.

Внимание! Вопрос: Можно каким либо образом заставить в несколько приемов загрузить XML? Т.е.
Порвать строку XML на куски и выполнить метод loadXML по кускам. Может быть существуют другие способы загрузки XML?

Очень бы не хотелось записывать строку во временный XML файл и выполнять метод load .

Заранее благодарен!
...
Рейтинг: 0 / 0
LoadXML Есть ли ограничения на размер строки XML? Как загрузить XML в несколько приемов?
    #36890453
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chumansky Очень бы не хотелось записывать строку во временный XML файл и выполнять метод load .И тем не менее это единственный выход. Можно еще загрузить в IStream? а уже его скормить в метод load, но реализацию IStream придется писать на нормальном языке, а не на 1С или VB
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
LoadXML Есть ли ограничения на размер строки XML? Как загрузить XML в несколько приемов?
    #37721249
Рыжик И.А.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй файл загружать с помощью скрипта vbs.
Код в 1С 7.7 такой:

sc=createObject("MSScriptControl.ScriptControl");
sc.language="LoadXML";
strFunc="function textBase64()
|Set objXML = CreateObject(""MSXml2.DOMDocument"")
|objXML.loadXML """+Результат+"""
|end function";

sc.addCode(strFunc);
sc.run("LoadXML");

А вообще если результат получается http запросом объекта XMLHTTPServer, то у этого объекта есть
метод ResponseXML, который возвращает xml и можно работать сразу с ним без создания объекта MSXML2.DomDocument и загрузки
через метод LoadXML.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
LoadXML Есть ли ограничения на размер строки XML? Как загрузить XML в несколько приемов?
    #38797080
dvk09
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
chumansky, Вопрос как-то решился или нет?
Столкнулся с такой-же проблемой...
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / LoadXML Есть ли ограничения на размер строки XML? Как загрузить XML в несколько приемов?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]