Имя: Пароль:
1C
1C 7.7
v7: XML документ
,
0 Z_Z
 
07.11.12
10:57
Добрый день! Подскажите, что не так пишу? нужно получить в xml такую строку: "<LINKED_DOCS xsi:nil="true" />"
пишу такой код:
элШапка = элДокумента.СоздатьПодчиненныйЭлемент("DECLARHEAD");
элРекв =  элШапка.СоздатьПодчиненныйЭлемент("LINKED_DOCS");  
элРекв.УстановитьАтрибут("xsi:nil","true");
и выдает ошибку :
{D:\BASE\ЗАПРОС В ЕРПН.ERT(163)}: : xsi:nil attribute on element 'LINKED_DOCS' is invalid.
[<LINKED_DOCS xsi:nil="true"/><D_FILL> (error position = 31)]
1 Z_Z
 
07.11.12
11:12
Если пишу без установки реквизита работает без ошибок только строка получается такая:"<LINKED_DOCS />" Что не так???
2 mikecool
 
07.11.12
11:13
потому что "xsi:nil" - некошерное имя для атрибута
имхо - какие то "служебные" данные
3 eRik
 
07.11.12
11:15
(0) там вам же вроде ответили? не помогло?
http://xmlhack.ru/forum/xml/topic4401.html
4 eRik
 
07.11.12
11:17
упс.. сорри, та ветка пятилетней давности. просто очень уж похоже выглядит )
5 DrunkAnimal
 
07.11.12
11:20
ты сначала неймспейс должен соответствующий прописать, а потом уже его использовать
6 DrunkAnimal
 
07.11.12
11:20
я про xsi
7 DrunkAnimal
 
07.11.12
11:27
вообще как правило xsi - это ссылка на инстанс схемы
посмотри, может в заголовке у тебя префикс по-другому указан

должно быть что-то в корневом или отдельном элементе, типа:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="<имя файла схемы>.xsd"
8 Serginio1
 
07.11.12
11:32
Посмотри http://www.1c-galaxy.ru/forum5/topic470761/

xmlДанные.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema","xs");
xmlДанные.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema-instance","xsi");
9 DrunkAnimal
 
07.11.12
11:37
ну достаточно второй строчки)
10 Serginio1
 
07.11.12
11:40
(9) Кашу маслом :))
11 Z_Z
 
07.11.12
11:40
так тоже не работает(
элДокумента = ДокЭкспорт.СоздатьПодчиненныйЭлемент("DECLAR");
   элДокумента.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema","xs");
   элДокумента.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema-instance","xsi");
   элДокумента.УстановитьАтрибут("xsi:noNamespaceSchemaLocation","J1300101.xsd");
   
   элШапка = элДокумента.СоздатьПодчиненныйЭлемент("DECLARHEAD");
   элРекв =  элШапка.СоздатьПодчиненныйЭлемент("LINKED_DOCS");  
   элРекв.УстановитьАтрибут("xsi:nil","true");
12 DrunkAnimal
 
07.11.12
11:42
ну есть вариант, что его значение не может быть пустым
13 Serginio1
 
07.11.12
11:48
(11) Я так понимаю LINKED_DOCS это атрибут который может быть пустым? nillable="true"
14 Serginio1
 
07.11.12
11:52
А если так
элРекв.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema-instance","xsi"); элРекв.УстановитьАтрибут("xsi:nil","true");
15 Serginio1
 
07.11.12
11:54
(0) У меня аналогичная задача, так я через восьмерку с даноой схемой записываю через объектыXDTO.
16 DrunkAnimal
 
07.11.12
11:55
(14) это не отличается от того что он выше делал
17 1Сергей
 
07.11.12
12:00
18 1Сергей
 
07.11.12
12:02
элРекв.УстановитьАтрибут("xsi&#58;nil","true");
19 DrunkAnimal
 
07.11.12
12:04
lol
20 eRik
 
07.11.12
12:14
все прекрасно работает, ЧЯДНТ?

   Анализатор = СоздатьОбъект("AddIn.XMLParser");
   Корень = Анализатор.СоздатьДокумент();
   элДокумента = Корень.СоздатьПодчиненныйЭлемент("DECLAR");
   элДокумента.УстановитьПространствоИмен("http://www.w3.org/2001/XMLSchema", "xsi");
   
   элШапка = элДокумента.СоздатьПодчиненныйЭлемент("DECLARHEAD");
   элРекв =  элШапка.СоздатьПодчиненныйЭлемент("LINKED_DOCS");
   элРекв.УстановитьАтрибут("xsi:nil", "true");
   
   Корень.Записать("C:\SrcDocument.xml");
21 1Сергей
 
07.11.12
12:16
(0),(20) озвучьте версии XML-парсеров
22 eRik
 
07.11.12
12:18
ВерсияАнализатора 2.0
ВерсияБазовогоАнализатора 4.0
23 Serginio1
 
07.11.12
12:20
Еще и ОС
24 eRik
 
07.11.12
12:22
win xp sp3
32-х битная
25 DrunkAnimal
 
07.11.12
12:22
(21) Сергей решил блеснуть во всей красе?
26 DrunkAnimal
 
07.11.12
12:23
процессор какой стоит и видеокарта, про это не забудьте
27 1Сергей
 
07.11.12
12:24
(25) куда мне до вас. Чем (20) отличается от (11)?
28 DrunkAnimal
 
07.11.12
12:28
(27) тем что нет ссылки на схему, в которой линкеддокс может быть описан как элемент значение которого не может быть пустым
29 eRik
 
07.11.12
12:46
а оно надо ТС?
в (0) написано - "нужно получить в xml такую строку", собственно, все.
30 DrunkAnimal
 
07.11.12
12:49
а вот Вы у ТС и спросите