|
v7: выборка из xml |
☑ |
0
Lexxus79
29.10.16
✎
18:04
|
Всем доброго вечера !
Первый раз работаю с xml в семерке. Есть вопросы.
Получил узел. Содержимое:
<Объект Нпп="1" Тип="СправочникСсылка.Валюты" ИмяПравила="">
<Ссылка Нпп="1">
<Свойство Имя="Код" Тип="Строка">
<Значение>643</Значение>
</Свойство>
</Ссылка>
<Свойство Имя="Наименование" Тип="Строка">
<Значение>RUB</Значение>
</Свойство>
<Свойство Имя="НаименованиеПолное" Тип="Строка">
<Значение>Российский рубль</Значение>
</Свойство>
<Свойство Имя="ПометкаУдаления" Тип="Булево">
<Значение>false</Значение>
</Свойство>
</Объект>
Каким образом получить значения (код, наименование..) ?
Спасибо.
|
|
1
Злопчинский
29.10.16
✎
18:12
|
Смотри тему с названием в ветке 77 Чем обработать такой документ
|
|
2
Lexxus79
29.10.16
✎
18:16
|
(1) тему посмотрел уже. дело в том, что я уже получил список узлов. выбрал нужный мне по номеру. в первом посте показал содержимое узла. дальше затык..
|
|
3
Lexxus79
29.10.16
✎
18:37
|
Анализатор=СоздатьОбъект("AddIn.XMLParser");
Файл=Анализатор.СоздатьДокумент();
Файл.Загрузить("c:\plan.xml");
План=Файл.ВыбратьУзел("ФайлОбмена");
Для Сч = 2 По План.КоличествоПодчиненных() Цикл
ПодчУзел = План.ПолучитьПодчиненныйПоНомеру(Сч);
//Сообщить(ПодчУзел.ПредставлениеXML);
КонецЦикла;
А вот как дальше получить значения Код, Наименование - не разберусь никак.
|
|
4
Злопчинский
29.10.16
✎
19:09
|
Что непонятно в коде который приведен в указанной мной ветке?
Получил имя очередного узла
Если имя узла есть свойство тогда получил атрибут имя свойства и типсвойства. Запомнил. Перед концом цикла стоит вызов рекурсивный для обработки подчиненных узлов. Если имя узла есть значение тогда получил текст узла запомнил его в значение, после обработки подчиненных узлов для узла свойство у тебя известно в переменной глобальной пусть значение, обработал и все
|
|
5
Lexxus79
29.10.16
✎
19:30
|
(4) Ваш код не обработает данный формат xml у меня узлы далеко не <Элемент>,<Товары>. Поэтому и непонятно пока.
|
|
6
Lexxus79
29.10.16
✎
20:08
|
(4) "Если имя узла есть свойство тогда получил атрибут имя свойства и типсвойства. Запомнил. Перед концом цикла стоит вызов рекурсивный для обработки подчиненных узлов. Если имя узла есть значение тогда получил текст узла запомнил его в значение, после обработки подчиненных узлов для узла свойство у тебя известно в переменной глобальной пусть значение, обработал и все"
Разобрался, спасибо. Первый раз с xml ))
|
|
7
youalex
29.10.16
✎
20:34
|
Самое главное - не использовать приблудную одноэсную обертку над msxml.
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший