|   |   | 
| 
 | 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 | 
        или сообщать вот так: полученная строка превысит допустимые размеры 1с#19     | |||
| 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 | ||||
| 17
    
        MWWRuza гуру 15.08.25✎ 15:53 | 
        Еще FormEx умеет, если что.     | |||
| 18
    
        uno-group 15.08.25✎ 16:18 | 
        Вроде в7плус хватило. Посмотрю съест сайт или нет. Если нет буду другие приблуды использовать. По скорости работы вроде  тоже нормально. Есть данные, что быстрее работает?     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |