Имя: Пароль:
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плус хватило. Посмотрю съест сайт или нет. Если нет буду другие приблуды использовать. По скорости работы вроде  тоже нормально. Есть данные, что быстрее работает?