Имя: Пароль:
1C
1С v8
ЧтениеXML с кодировкой windows-1251
0 Mad88
 
26.01.17
10:28
Добрый день, может ли 1С 8.3.8.2167 читать XML файлы с кодировкой windows-1251, а то что то никак не поучается.
1 mehfk
 
26.01.17
10:28
Может.
2 igork1966
 
26.01.17
10:29
Что они ни делают, не идут дела,
Видно в понедельник их мама родила.
3 Mad88
 
26.01.17
10:46
как?)
4 DrShad
 
26.01.17
10:49
задать нужную кодировку, не?
5 Mad88
 
26.01.17
10:56
(4) как?
6 DrShad
 
26.01.17
11:00
ЧтениеXML (XMLReader)
ОткрытьФайл (OpenFile)
Синтаксис:

ОткрытьФайл(<ИмяФайлаXML>, <Параметры>, <НаборСхемXML>, <Кодировка>)
7 DrShad
 
26.01.17
11:00
например так
8 Mad88
 
26.01.17
11:03
(7) Ну он его не читает
Пока ТекстXML.Прочитать() Цикл                            
        Если ТекстXML.КоличествоАтрибутов() > 0 Тогда
            Пока ТекстXML.ПрочитатьАтрибут() Цикл
            // Обработка атрибута

                  КонецЦикла
       КонецЕсли
КонецЦикла

ТекстXML.КоличествоАтрибутов() всегда 0.
9 DrShad
 
26.01.17
11:08
ты вообще умеешь читать XML?
10 Mad88
 
26.01.17
11:11
(9) Умел бы не писал бы сюда не?
11 DrShad
 
26.01.17
11:35
ты не слова не написал, что не умеешь, а говоришь что не читает
12 Mad88
 
26.01.17
11:42
(11) ну дак а как задать ту кодировку которая у файла?
Пишу так
ТекстXML.ОткрытьФайл(ИмяФайла,,,"windows-1251");
13 DrShad
 
26.01.17
11:44
и что тебя смущает? посмотри что у тебя в ТекстXML при входе в цикл
14 Mad88
 
26.01.17
11:46
(13) Ну там много чего
15 DrShad
 
26.01.17
11:48
находи дочерние - в них и будут атрибуты
16 SSSSS_AAAAA
 
26.01.17
11:51
(12) В общем-то, кодировка XML задается внутри файла и должна учитываться автоматом читателем файла, а не задаваться извне.
17 Mad88
 
26.01.17
11:52
(15) Ну нету их там,
вот текст из файл
<_root_>
    <Sales_Invoice_Header>
    <Sell_to_Customer_No_>SATURN</Sell_to_Customer_No_>
        </Sales_Invoice_Header>
</_root_>
На каждом этапе цикла определяет только
ТекстXML.Имя
То что внутри не видит, если например написать
ТекстXML.ПолучитьАтрибут("Sell_to_Customer_No_"), то получаем Неопределено
18 Mad88
 
26.01.17
11:53
(16) В ТекстXML пишет кодировкаXML - windows-1251, кодировка источника UTF-8
19 DrShad
 
26.01.17
12:02
(17) ну так а какие атрибуты ты хочешь получить? если их там реально ни одного
20 Mad88
 
26.01.17
12:02
(19) <Sell_to_Customer_No_>SATURN</Sell_to_Customer_No_> из этой строчки я хочу получить SATURN =)
21 DrShad
 
26.01.17
12:04
это не атрибут
22 DrShad
 
26.01.17
12:04
это текстовый узел
23 Жан Пердежон
 
26.01.17
12:07
(20) это значение текстового узла:
...
Если ЧтениеXML.ТипУзла = ТипУзлаXML.Текст тогда
Значение = ЧтениеXML.Значение;
...
24 DrShad
 
26.01.17
12:08
<Sell_to_Customer_No_ name='SATURN'>

атрибут выглядел бы так
25 SSSSS_AAAAA
 
26.01.17
12:15
(18) В приведенном XML кодировка вообще не имеет никакого смысла и непонятно, почему решено, что дело именно в ней? Может просто, действительно, кто-то не понимает разницы между значениями, атрибутами т.д.?
26 Mad88
 
26.01.17
12:15
(24) я уже понял)
В общем всем спасибо, я разобрался =)
27 Mad88
 
26.01.17
12:16
(25) Может быть =)
28 DrShad
 
26.01.17
12:21
(26) я бы так не спешил утверждать )))
29 Mad88
 
26.01.17
12:28
(28) не боись, сейчас все напишем