|
Работа с *.xml - файлами. | ☑ | ||
---|---|---|---|---|
0
san_nisan
20.03.09
✎
14:47
|
Здравствуйте, подскажите, пожалуйста, я делаю внешний отчёт. И мне надо создать выходной файл xml с узлами и подузлами. Это делается только с помощью компоненты v7plus.dll
|
|||
1
ТелепатБот
гуру
20.03.09
✎
14:47
|
||||
2
san_nisan
20.03.09
✎
14:48
|
не пойму как создать xml - файл
|
|||
3
Если
20.03.09
✎
14:56
|
ЗагрузитьВнешнююКомпоненту(КаталогИБ() + "v7plus.dll");
XML = СоздатьОбъект("AddIn.XMLParser"); ИмяФайла = ххххххх+".xml"; Выгрузка = XML.СоздатьДокумент(); Начало = Выгрузка.СоздатьПодчиненныйЭлемент("Exchange"); Выгрузка.Записать(ИмяФайла); |
|||
4
san_nisan
20.03.09
✎
15:04
|
А для чего нужно вот это: Начало = Выгрузка.СоздатьПодчиненныйЭлемент("Exchange");
|
|||
5
Если
20.03.09
✎
15:06
|
(4) а без головного элемента хрень, а не хмл запишется.
|
|||
6
Если
20.03.09
✎
15:06
|
+(5) название какое хочешь поставь.
|
|||
7
san_nisan
20.03.09
✎
15:06
|
а что значит головной элемент
|
|||
8
Rebelx
20.03.09
✎
15:07
|
||||
9
Если
20.03.09
✎
15:07
|
<?xml version="1.0" encoding="windows-1251" standalone="no" ?>
- <Exchange> |
|||
10
anddro
20.03.09
✎
15:07
|
(0) Не обязательно "только с помощью компоненты v7plus.dll"
Объект = СоздатьОбъект("MSXML2.DOMDocument") и далее работа методами этого объекта. |
|||
11
san_nisan
20.03.09
✎
15:09
|
(10) а где найти функции для работы с MSXML2.DOMDocument
|
|||
12
DGorgoN
20.03.09
✎
15:11
|
(11) то что я знаю:
//Для элементов ФайлXml=СоздатьОбъект("MSXML2.DOMDocument"); Заголовок = ФайлXml.CreateProcessingInstruction("xml", "version=""1.0"" encoding=""windows-1251""" ); ФайлXml.AppendChild(Заголовок); Корень = ФайлXml.CreateElement("Nomenclature"); ФайлXml.AppendChild(Корень); спрНоменклатура = СоздатьОбъект("Справочник.товары"); спрНоменклатура.ВыбратьЭлементы(); Пока спрНоменклатура.ПолучитьЭлемент()=1 Цикл //Запишем сам элемент Если спрНоменклатура.ЭтоГруппа()=0 Тогда Если спрНоменклатура.ПометкаУдаления()=1 Тогда продолжить; КонецЕсли; ЭлементСправочника=ФайлXml.CreateElement("Element"); ЭлементСправочника.Text = СокрЛП(спрНоменклатура.Наименование); ЭлементСправочника.SetAttribute("SKey", СокрЛП(спрНоменклатура.Код)); Если спрНоменклатура.Родитель.Выбран()=1 Тогда ЭлементСправочника.SetAttribute("Parent", СокрЛП(спрНоменклатура.Родитель.Код)); КонецЕсли; Корень.AppendChild(ЭлементСправочника); //Запишем табличные свойства элемента //1 СвойстваЭлементаСправочника=ФайлXml.CreateElement("TableProperties"); СвойстваЭлементаСправочника.Text = "Артикул"; СвойстваЭлементаСправочника.SetAttribute("Value", СокрЛП(спрНоменклатура.сАртикул)); ЭлементСправочника.AppendChild(СвойстваЭлементаСправочника); //2 СвойстваЭлементаСправочника=ФайлXml.CreateElement("TableProperties"); СвойстваЭлементаСправочника.Text = "Розн. цена"; СвойстваЭлементаСправочника.SetAttribute("Value", СокрЛП(спрНоменклатура.чЦена)); ЭлементСправочника.AppendChild(СвойстваЭлементаСправочника); //Запишем свойства элемента //1 СвойстваЭлементаСправочника=ФайлXml.CreateElement("Properties"); СвойстваЭлементаСправочника.Text = "Ед.изм."; СвойстваЭлементаСправочника.SetAttribute("Value", СокрЛП(спрНоменклатура.асОсновнаяУпаковка)); ЭлементСправочника.AppendChild(СвойстваЭлементаСправочника); //2 СвойстваЭлементаСправочника=ФайлXml.CreateElement("Properties"); СвойстваЭлементаСправочника.Text = "Производитель"; СвойстваЭлементаСправочника.SetAttribute("Value", СокрЛП(спрНоменклатура.асИзготовитель)); ЭлементСправочника.AppendChild(СвойстваЭлементаСправочника); КонецЕсли; КонецЦикла; ФайлXml.Save("c:\iCatalogNomenclature.xml"); |
|||
13
anddro
20.03.09
✎
15:16
|
(11) в яндексе/google, только для v7plus.dll все документировано в als, только этим он и проще, но методов меньше.
+ OpenConf тоже показывает его методы (12) да, именно в таком ключе кроме того MSXML2.DOMDocument может делать трансформацию по xslt шаблону, а MSXML2.DOMDocument.4.0 еще и валидацию делать умеет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |