|
v7: Работа с XML 7.7
| ☑ |
0
Koliaff
17.09.12
✎
23:35
|
Попросили сделать выгрузку в XML справочника номенклатура. Взял из последней ТиС за основу обработку "XMLВыгрузкаКоммерческихПредложений".
В этой обработке используется внешняя компонента V7Plus.dll
Вот код создания объекта для работы с XML
Анализатор = СоздатьОбъект("AddIn.XMLParser");
=====================================
Потом разобрался, все оказалось просто. Сначала создаем корень XML
Документ = Анализатор.СоздатьДокумент();
Документ.ЗагрузитьИзСтроки("<?xml version =""1.0""?><КоммерческаяИнформация></КоммерческаяИнформация>");
====
Чтобы создать подчиненный элемент используется функция
СоздатьПодчиненныйЭлемент(Владелец, ИмяТега, Значение="")
Чтобы добавить свойство используется процедура
ПроверитьИУстановитьАтрибут(Эл, ИдАтрибута, ЗнАтрибута);
=============================
Вроде все шло хорошо, но вот наткнулся на такую строку в дереве :
<property name="Цена">14246</property>, которую мне надо реализовать.
Здесь по хорошему надо написать такой код :
Пр = СоздатьПодчиненныйЭлемент(Эл1,"property name");
ПроверитьиУстановитьАтрибут(пр,"Цена",100);
===============================
Но Функция СоздатьПодчиненныйЭлемент не воспринимает в качестве второго параметра строку с пробелом. Как быть ? Подскажите кто работал с этим объектом AddIn.XMLParser.
|
|
1
andrewks
17.09.12
✎
23:39
|
V7Plus.dll - в топку
по сабжу - жесть. это надо же совсем не различать атрибуты и элементы
|
|
2
Koliaff
17.09.12
✎
23:41
|
(andrewks) подскажи как написать правильно, с XML мало работал, именно в части написания самого дерева. В 8-ке все гораздо проще )
|
|
3
andrewks
18.09.12
✎
00:03
|
(2) при чём здесь 7.7 или 8? у тебя элемент называется "property", а атрибут "name". а ты всё в кучу смешал
|
|
4
Koliaff
18.09.12
✎
00:07
|
(andrewks) а что такое "Цена" тогда и "14246" ?
|
|
5
andrewks
18.09.12
✎
00:10
|
значение атрибута "name" и значение элемента "property" соответственно
|
|
6
Koliaff
18.09.12
✎
00:15
|
Пр = СоздатьПодчиненныйЭлемент(Эл1,"property",100);
ПроверитьИУстановитьАтрибут(Пр,"name","Цена");
Результат :
<property name="Цена">100</property>
=====================================
(andrewks) Спасибо, добрый человек !
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан