|
v7: Сохранение файла формата xml | ☑ | ||
---|---|---|---|---|
0
Slypower
11.05.16
✎
16:59
|
добрый день. Создаю выгрузку из 1с7.7 в xml. Пробовал 2-мя способами:
1) Scripting.FileSystemObject 2) создаю txt и сохраняю в xml. Вопросы. Нужно ли делать отступы в перед строка1 и строка2, чтобы отображалось: <шапка> строка1 строка2 </шапка> или это не обязательно? Второй вопрос: как сохранить файл в формате unix? |
|||
1
Slypower
11.05.16
✎
17:00
|
(0) строка1 и строка2 должны быть в IE уже с отсутпами
|
|||
2
Ёпрст
11.05.16
✎
17:01
|
(0) отступы не важны.
делать проще через domdocument |
|||
3
Ёпрст
11.05.16
✎
17:01
|
там есть параметр, делать "табуляцию" или писать всё в одну строку
|
|||
4
Ёпрст
11.05.16
✎
17:01
|
а ИЕ, уже сам отображает, как надо
|
|||
5
Злопчинский
11.05.16
✎
23:18
|
да.. и как выяснилось - ИЕ атрибуты тега отображает по совему разумению а не в том порядке как они записаны в файле..
;-) |
|||
6
Slypower
12.05.16
✎
09:23
|
Хорошо. А с помощью domdocument возможно сохранить в формате unix?
|
|||
7
Slypower
12.05.16
✎
11:12
|
(2) а чем проще?
Я одну строчку для txt заменяю 3-мя строчками domdocument. Главное, чтобы потом как нужно было) |
|||
8
Slypower
12.05.16
✎
15:02
|
как сделать строку:
<issuance xmlns="http://www.w3schools.com"> при xmlns = XML_DOM.createAttribute("xmlns"); xmlns.nodeValue ="""http://www.w3schools.com"""; atrissuance.setAttributeNode(xmlns); он потом везде присваивает для atrissuance атрибут xmlns="", а этого не нужно |
|||
9
Ёпрст
12.05.16
✎
15:05
|
вообще то это не атрибут
|
|||
10
Ёпрст
12.05.16
✎
15:22
|
Так, что ле тебе надо ?
Процедура Сформировать() Попытка ХМЛФайлДанных=СоздатьОбъект("MSXML2.DOMDocument.6.0"); Узел=ХМЛФайлДанных.CreateProcessingInstruction("xml","version=""1.0"" encoding=""windows-1251"""); Исключение Сообщить("Не удалось создать объект DOMDocument","!"); Возврат; КонецПопытки; ХМЛФайлДанных.insertBefore(Узел,); хмлФайл = ХМЛФайлДанных.appendChild(ХМЛФайлДанных.createElement("issuance")); хмлФайл.setAttribute("xmlns", "http://www.w3schools.com"); ХМЛФайлДанных.save("D:\вася.xml"); КонецПроцедуры |
|||
11
Slypower
12.05.16
✎
15:31
|
setAttribute - Поле агрегатного объекта не обнаружено (setAttribute)
у меня: XML_DOM=CreateObject("MSXML2.DOMDocument.4.0"); Header = XML_DOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""" ); XML_DOM.appendChild(Header); atrissuance = XML_DOM.createElement("issuance"); XML_DOM.appendChild(atrissuance); а дальше в issuance нужно внести xmlns="http://www.w3schools.com" |
|||
12
Ёпрст
12.05.16
✎
15:38
|
(11) как в (10) чем не устраивает ?
|
|||
13
Slypower
12.05.16
✎
16:06
|
Хорошо. Переделал начало как в (10), но вывод тот же. Может я чего-то не догоняю.
Мне нужен вывод таков: <issuance xmlns="http://www.w3schools.com"> <general> <></> <></> </general> <provider> <></> <></> </provider> </issuance> но при данной работе у меня: <issuance xmlns="http://www.w3schools.com"> <general xmlns=""> <number>текст</number> </general> <provider xmlns=""> <number>текст2</number> </provider> </issuance> т.е. xmlns="" цепляется к каждому 2-му уровню текст 1с: Header = XML_DOM.createProcessingInstruction("xml", "version=""1.0"" encoding=""UTF-8""" ); XML_DOM.appendChild(Header); XML_DOM.insertBefore(Header,); atrissuance = XML_DOM.appendChild(XML_DOM.createElement("issuance")); atrissuance.setAttribute("xmlns", "http://www.w3schools.com"); general=XML_DOM.createElement("general"); atrissuance.appendChild(general); atrgeneral=XML_DOM.createElement("number"); atrgeneral.text ="текст"; general.appendChild(atrgeneral); provider=XML_DOM.createElement("provider"); atrissuance.appendChild(provider); atrprovider=XML_DOM.createElement("number"); atrprovider.text ="текст2"; provider.appendChild(atrprovider); |
|||
14
Ёпрст
12.05.16
✎
16:57
|
(13) почитай
http://forum.foxclub.ru/read.php?29,212205 |
|||
15
Ёпрст
12.05.16
✎
16:58
|
+14
Цитата: - как заставить DOM документ не создавать xmlns="" - Не играться с пространствами имён, а если они всё-таки уже есть, то в при создании дочерних в createNode() не забывать их указывать явно, тем самым подтверждая принадлежность дочернего к определённому родительскому пространству там ниже, есть пример |
|||
16
Slypower
12.05.16
✎
17:58
|
(15) спасибо. Пол часа вникал, но все сделал по примеру. Спасибо, еще раз
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |