![]() |
![]() |
![]() |
|
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плус хватило. Посмотрю съест сайт или нет. Если нет буду другие приблуды использовать. По скорости работы вроде тоже нормально. Есть данные, что быстрее работает?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |