|
v7: выгрузка в xml: туплю, нужна помощь | ☑ | ||
---|---|---|---|---|
0
Lazy Stranger
12.01.16
✎
16:43
|
нужно выгрузить накладную в файл в соответствии с образцом
там есть примерно такие фрагменты - <Consignor> <OrganizationName xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0">Общество с ограниченной ответственностью "***"</OrganizationName> - <RFOrganizationFeatures xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0"> <OGRN>113774643***</OGRN> <INN>7714906***</INN> <KPP>77*******</KPP> </RFOrganizationFeatures> - <Address xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0"> <PostalCode>123290</PostalCode> выгружаю с помощью v7plus, пытаясь копипастить куски из типовых не соображу как вставить после названия узла строку "xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0" |
|||
1
Злопчинский
12.01.16
✎
16:44
|
а я не морочусь, пишу обычно как текстовый файл на вывод и все...
|
|||
2
Lazy Stranger
12.01.16
✎
16:46
|
(1) вариант, но хочется уметь и так и эдак
|
|||
3
Рэйв
12.01.16
✎
16:50
|
(1)Простенькие да. А что посложнее- башку свихнеш в тексте теги закрывать в нужном месте.
|
|||
4
Злопчинский
12.01.16
✎
16:51
|
это ж вроде не просто "строка" - это ж вроде атрибут..?
|
|||
5
Злопчинский
12.01.16
✎
16:52
|
(3) посложнее - это Исакий построить...
а так - вывод открывающего тега - вызов процедуры для вложенного тега - закрытие тега - я уже наблатыкался... |
|||
6
Рэйв
12.01.16
✎
16:52
|
(4)Это не "вроде" это атрибут
(0)Это надо внутри тега делать |
|||
7
Рэйв
12.01.16
✎
16:53
|
(5)думаю начиная с уровня 4-5 начнет сбоить твоя набултыканность:-)
|
|||
8
Lazy Stranger
12.01.16
✎
16:58
|
(6) вот я и не соображу как внутрь тега атрибут засунуть, насколько я понял "xmlns" - это служебная хрень какая-то,
.УстановитьАтрибут("xmlns" выдает ошибку |
|||
9
NikVars
12.01.16
✎
17:03
|
(2) Этак уже сделал?!
|
|||
10
NikVars
12.01.16
✎
17:04
|
(8) Это пространство имен.
Рубай через так: xmlКорень.УстановитьПространствоИмен("туттвояфиговина", "xmlns"); |
|||
11
Lazy Stranger
12.01.16
✎
17:18
|
(10) ругается
The namespace prefix is not allowed to start with the reserved string "xml" если xmlКорень.УстановитьПространствоИмен("туттвояфиговина"); тогда ошибка Установка пространства имен возможна ТОЛЬКО для элементов, имеющих префикс, отличный от префикса данного элемента |
|||
12
ДенисЧ
12.01.16
✎
17:20
|
насколько я помню, v7plus не любит подобные намеспейсы...
я в своё время выводил без них, а потом тупо СтрЗаменить... |
|||
13
NikVars
12.01.16
✎
17:20
|
(11) И где у тебя тот же префикс установлен? Отсюда не видно.
|
|||
14
NikVars
12.01.16
✎
17:20
|
(12) Мсье идет по собственному пути. Ему вспотеть нужно.
|
|||
15
Lazy Stranger
12.01.16
✎
17:32
|
(13) это я попытался вообще второй параметр не указывать
(12) получилось - написал .УстановитьПространствоИмен("туттвояфиговина","STR") - на выходе получил xmlns:STR="urn:customs.ru:CommonAggregateTypes потом выкину эти :STR |
|||
16
Злопчинский
12.01.16
✎
18:34
|
(7) фигушки...
|
|||
17
MadDAD
15.01.16
✎
12:09
|
(0)
>выгружаю с помощью v7plus Значительно удобнее с помощью: СоздатьОбъект("MSXML2.DOMDocument.6.0") |
|||
18
MadDAD
15.01.16
✎
12:35
|
Как-то так:
Кодировка = "windows-1251"; ИмяФайлаXML = "Example.xml"; NameSpace = "urn:customs.ru:CommonAggregateTypes:5.8.0"; XML_DOM = СоздатьОбъект("MSXML2.DOMDocument.6.0"); //прописываем заголовок с необходимыми параметрами Header = XML_DOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""" + Кодировка + """"); //Относим его к верхнему уровню структуры XML_DOM.appendChild(Header); Consignor = XML_DOM.createElement("Consignor"); OrganizationName = XML_DOM.createNode(1,"OrganizationName",NameSpace); OrganizationName.text = "Общество с ограниченной ответственностью ""***"""; Consignor.appendChild(OrganizationName); RFOrganizationFeatures = XML_DOM.createNode(1,"RFOrganizationFeatures",NameSpace); RFOrganizationFeatures.appendChild(XML_DOM.createElement("OGRN")).text = "113774643***"; RFOrganizationFeatures.appendChild(XML_DOM.createElement("INN")).text = "7714906***"; RFOrganizationFeatures.appendChild(XML_DOM.createElement("KPP")).text = "77*******"; Consignor.appendChild(RFOrganizationFeatures); Address = XML_DOM.createNode(1,"Address",NameSpace); Address.appendChild(XML_DOM.createElement("PostalCode")).text = "123290"; Consignor.appendChild(Address); //***********Результирующая структура XML*********** //<Consignor> // <OrganizationName xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0">Общество с ограниченной ответственностью "***"</OrganizationName> // <RFOrganizationFeatures xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0"> // <OGRN>113774643***</OGRN> // <INN>7714906***</INN> // <KPP>77*******</KPP> // </RFOrganizationFeatures> // <Address xmlns="urn:customs.ru:CommonAggregateTypes:5.8.0"> // <PostalCode>123290</PostalCode> // </Address> //</Consignor> //*************************************************** XML_DOM.appendChild(Consignor); XML_DOM.Save(ИмяФайлаXML); |
|||
19
NikVars
15.01.16
✎
13:29
|
(17) Удобнее и быстрее на коньках по льду, если умеешь бегать на коньках и по льду. Будет ли удобнее в первый раз?! Это еще вопрос.
(18) Круто! Респект! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |