Имя: Пароль:
1C
1С v8
Пустой ли XML?
0 uvl
 
18.04.12
16:32
Подскажите пожалуйста, как проверить пустой ли XML файл который я хочу прочитать, до исполнения метода:

Пока ЧтениеXML.Прочитать() Цикл

Грубо говоря есть ли в нем какие нибудь символы?
А то если файл оказывается совсем пустой, ошибка чтения возникает.
Спасибо.
1 andrewks
 
18.04.12
16:35
проверить размер файла?
2 mzelensky
 
18.04.12
16:36
(0) по идее не должно быть ошибки...как читаешь?
3 uvl
 
18.04.12
16:44
(1) пожалуй можно

(2) возникает как ни странно..

ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.ОткрытьФайл(ФайлXML);
Пока ЧтениеXML.Прочитать() Цикл
       
       Если ЧтениеXML.Имя="item" тогда
           ЧтениеXML.Прочитать();
       КонецЕсли;
4 mzelensky
 
18.04.12
16:45
(2) вываливается на "тениеXML.Имя="item"" ?
5 uvl
 
18.04.12
16:45
да
6 andrewks
 
18.04.12
16:46
пустой файл != пустой xml
7 mzelensky
 
18.04.12
16:46
(3) поставь условие на начало элемента!

Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
8 Ksandr
 
18.04.12
16:46
А проверить, что прочитал?
9 uvl
 
18.04.12
16:48
(7) так он пустой совсем, xml, там узлов нет
10 mzelensky
 
18.04.12
16:52
(9) а как он тогда у тебя "Пока ЧтениеXML.Прочитать() Цикл" это отработал???
11 uvl
 
18.04.12
17:10
сделал так

ФайлXML = Новый Файл(xml);  
   Если ФайлXML.Существует() Тогда
       Если ФайлXML.Размер() = 0 Тогда              
           Возврат;
       КонецЕсли;
   Иначе
12 uvl
 
18.04.12
17:10
(9) не отработал, я ошибся, он на этом моменте выругался
13 uvl
 
18.04.12
17:16
всем спасибо.
Кстати на моменте "Пока ЧтениеXML.Прочитать() Цикл"
отладчик показывает что
"ТипУзла = Ничего"
и сразу ошибка при "прочитать"

Кроме проверки размера выходит нечем проверить xml
14 andrewks
 
18.04.12
17:28
(13) "Кроме проверки размера выходит нечем проверить xml"

ну почему-же. есть валидация от msxml, например
15 mzelensky
 
18.04.12
17:31
(11) если открыть пустой файл и просто нажать ЕНТЕР, то файл по прежнему останется пустым, но его размер <> 0.
16 mzelensky
 
18.04.12
17:32
(15) засунь тупо в "исключение" :)
17 Ksandr
 
18.04.12
17:32
ПостроительDOM заюзай и все у тебя получится.
18 andrewks
 
18.04.12
17:33
(17) а если файло в 4 гига?
19 uvl
 
18.04.12
18:14
(15) исключено, файл делается скриптом на сайте интернет магазина,
если данных для выгрузки нет - в xml ниче не пишется
20 uvl
 
18.04.12
18:14
но это частный случай )