Вход | Регистрация
 

Что за элемент в XML?

Что за элемент в XML?
Я
   Zombi
 
10.03.20 - 21:28
Выгружаю данные в XML по примеру. Вот фрагмент из примера:

<?xml version="1.0" encoding="windows-1251"?>
<Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">
<ЗаголовокДокумента>
    <ТипДок>ПРХ</ТипДок>
    <Комиссия>1</Комиссия>
    <НомерДок>00085299</НомерДок>.......

Что такое "<Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">" во второй строке и как это записать на встроенном языке 1с?
 
 
   Злопчинский
 
1 - 10.03.20 - 21:39
(0) то что написано - некий идентификатор документа. это может быть как ссылка, по которйо документ идентифицируется в базе (внутренее значение, напрямую недоступное пользователям), так и некий строковый реквизит, в котором записано неконе строкове значение идентфицируеющее документ.
.
зависит от контекста обмена.
.
у тебя - скорее всего 1 случай
   Zombi
 
2 - 10.03.20 - 21:46
Что такое уникальный идентификатор я понимаю. Я интересуюсь, как записать это в ХМЛ? То есть "<ЗаголовокДокумента>" я записываю через 

ЗаписьXML.ЗаписатьНачалоЭлемента("ЗаголовокДокумента");

А как "<Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">" Записать? Идентификатор я уже получил в переменную "ГУИД". Дальше как?
   Злопчинский
 
3 - 10.03.20 - 21:50
(2) ну, тут я ХЗ, я по 8-ке не спец.
в XML можно значения можно писать как текст внутри открывающего и закрывающего тэга так и в виде атрибута в теге.
в твоем варианте в примере идентификатор - атрибут тега, смотри как атрибуты пишутся...
   Zombi
 
4 - 10.03.20 - 21:55
(3) Я пишу так:

        ЗаписьXML.ЗаписатьНачалоЭлемента("ЗаголовокДокумента");// Начало элемента Документа "ПоступлениеТоваров"

        
        ЗаписьXML.ЗаписатьАтрибут("ТипДок",Строка("ПРХ"));
        ЗаписьXML.ЗаписатьАтрибут("Комиссия",Строка("1"));
        ЗаписьXML.ЗаписатьАтрибут("НомерДок",Строка(ВыборкаСписокНакладных.Ссылка.Номер));   


Но при этом пишутся атрибуты внутри тега:
<ЗаголовокДокумента>
    <ТипДок>ПРХ</ТипДок>
    <Комиссия>1</Комиссия>
    <НомерДок>00085299</НомерДок>.......

Вот как записать атрибут самого открывающего тега, не пойму.
   Zombi
 
5 - 10.03.20 - 22:00
ЗаписьXML (XMLWriter)
ЗаписатьНачалоЭлемента (WriteStartElement)
Вариант синтаксиса: Запись начала элемента с полным именем элемента

Синтаксис:

ЗаписатьНачалоЭлемента(<ПолноеИмя>)
Параметры:

<ПолноеИмя> (обязательный)

Тип: Строка.
Полное имя записываемого элемента. Может включать префикс. Например: "nsp:weight".
Вариант синтаксиса: Запись начала элемента с локальным именем и URI пространства имен

Синтаксис:

ЗаписатьНачалоЭлемента(<ЛокальноеИмя>, <URIПространстваИмен>)
Параметры:

<ЛокальноеИмя> (обязательный)

Тип: Строка. 
Локальное имя элемента (без префикса). 
<URIПространстваИмен> (обязательный)

Тип: Строка. 
URI пространства имен для имени элемента.
Описание варианта метода:

Соответствие пространства имен должно быть записано при записи вышестоящего элемента или при записи данного элемента.
Описание:

Записывает начало элемента.

Доступность:

Тонкий клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение(клиент), мобильное приложение(сервер).
Пример:

Запись.ЗаписатьНачалоЭлемента("weight", "http://metrics.org";);
Запись.ЗаписатьСоответствиеПространстваИмен("nsp", "http://metrics.org";);
Запись.ЗаписатьТекст("12.5");
Запись.ЗаписатьКонецЭлемента();
 

--------------------------------------------------------------------------------
     Методическая информация


Может через пространство имен попробовать
   Garykom
 
6 - 10.03.20 - 22:03
гыгыгы
   Garykom
 
7 - 10.03.20 - 22:05
ЗаписьXML.ЗаписатьНачалоЭлемента("Документ");
ЗаписьXML.ЗаписатьАтрибут("Идентификатор", XMLСтрока("a83f0f99-ff26-11e6-8353-2c768aacbc92"));

даст нужное тебе
<Документ Идентификатор="a83f0f99-ff26-11e6-8353-2c768aacbc92">
   Garykom
 
8 - 10.03.20 - 22:07
А вот это
<ТипДок>ПРХ</ТипДок>
<Комиссия>1</Комиссия>
<НомерДок>00085299</НомерДок>

пишется через
ЗаписьXML.ЗаписатьНачалоЭлемента("ТипДок");
ЗаписьXML.ЗаписатьТекст(XMLСтрока("ПРХ"));
ЗаписьXML.ЗаписатьКонецЭлемента();

И всегда не забывай применять XMLСтрока для снижения количестова/вероятности глюков!
   Garykom
 
9 - 10.03.20 - 22:09
Ну и изучить https://helpme1c.ru/chtenie-i-zapis-xml-v-yazyke-1s-8-3-8-2-v-primerax

А так же научиться гуглить уже блин
   Zombi
 
10 - 10.03.20 - 22:27
(6) (7) (8) (9) Точно, спасибо!
   Сияющий в темноте
 
11 - 10.03.20 - 23:21
какого вы текстом строки пишете?
глюков явно не избежать,так как xml пробелы и переводв строки теряет.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.