Имя: Пароль:
1C
 
xml parsing что должно стоять чтобы заработал?
0 uno-group
 
15.08.25
12:30
Стоит MSXML 4.0 sp 2. Ругается на плохой тип переменной в последней строке. или какой объект нужно создавать?
    //оТест =  СоздатьОбъект("Msxml2.DOMDocument.6.0");
    оТест =  СоздатьОбъект("Microsoft.XMLDOM");//
    оТест.Load(СокрЛП(Файл));
    Корень =оТест.DocumentElement;
1 MWWRuza
 
гуру
15.08.25
12:37
Не знаю, если я правильно понял вопрос, то может это чем-то поможет?
Фрагмент из моей функции чтения XML через DOM в 7.7:

    XML_DOM = CreateObject("MSXML2.DOMDocument.6.0");
    XML_DOM.Load(ИмяФайла);
    Если XML_DOM.parseError.errorCode <> 0 Тогда
        Если БезСообщ = 0 Тогда
             Сообщить("Невозможно прочитать лог: " + ИмяФайла + " " + XML_DOM.parseError.reason);  
        КонецЕсли;
        Возврат "";
    КонецЕсли;

    Скрипт    = СоздатьОбъект("MSScriptControl.ScriptControl");
    Скрипт.language="vbscript";
    Это        = Скрипт.Eval("this");
    XML_DOM.setProperty("SelectionLanguage",    "XPath");
    Попытка
        nodDoc                = XML_DOM.DocumentElement.selectSingleNode("/*");
    Исключение
        Сообщить("Не верный или пустой файл " + ИмяФайла);
        Возврат "";
    КонецПопытки;
2 uno-group
 
15.08.25
13:02
(1) твой код так ругается.
Невозможно прочитать лог: pwd.xml DTD запрещен.

Не верный или пустой файл pwd.xml
имя файла D:\pwd.xml файл по этому пути есть.
3 RomanYS
 
15.08.25
13:02
(2) "имя файла D:\pwd.xml файл по этому пути есть. "
На сервере?
4 uno-group
 
15.08.25
13:04
вин 2012. права есть.
5 arsik
 
гуру
15.08.25
16:03
(2) Ну может он у тебя реально невалидный. Интернет эксплорер его открывает со структурой?
6 uno-group
 
15.08.25
13:08
1с запустил от имени администратора на всякий случай.
файл mxl начинается так.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2025-08-15 05:30">
<shop>
запускал тоже самое на вин 11 тот же результат
7 uno-group
 
15.08.25
13:10
(5) открывает. весит файл 13 метров может тут загвоздка
8 Волшебник
 
15.08.25
13:10
надо открыть xml блокнотом и выкинуть оттуда DTD (document type declaration)
вот эту строчку:
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
9 uno-group
 
15.08.25
13:16
(8) Помогло.
10 uno-group
 
15.08.25
13:20
С "получаемая строка превысила допустимый размер" как бороться?
12 Волшебник
 
15.08.25
13:26
(10) Не пытаться её Сообщить
13 Волшебник
 
15.08.25
13:28
14 uno-group
 
15.08.25
15:26
работая через в7плюс я могу в UTF-8 файл записать?  или только через Msxml2.DOMDocument.6.0 или и он не поможет?
15 arsik
 
гуру
15.08.25
15:27
(14) Для УТФ нужно компоненту поискать. v7plus вроде не могет такое.
16 Волшебник
 
15.08.25
15:28
Корень.Кодировка ="UTF-8";

или вот так:
https://infostart.ru/1c/tools/18816/
17 MWWRuza
 
гуру
15.08.25
15:53
Еще FormEx умеет, если что.
18 uno-group
 
15.08.25
16:18
Вроде в7плус хватило. Посмотрю съест сайт или нет. Если нет буду другие приблуды использовать. По скорости работы вроде  тоже нормально. Есть данные, что быстрее работает?
Ошибка? Это не ошибка, это системная функция.