|   |   | 
| 
 | 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.     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |