|
Загрузка из XML ₽ | ☑ | ||
---|---|---|---|---|
0
BB52
27.11.06
✎
15:21
|
Подскажите плз что в приведенном коде нужно поменять чтобы получить данные по товарам?
имяф=КаталогИБ()+"XML\tovar.xml"; objDom=СоздатьОбъект("MSXML.DOMDocument"); objDom.load(имяф); obj = objDom.selectNodes("//Товары") ; Для i1 = 0 По obj.length - 1 Цикл obj1=obj.item(i1); для i2=1 по obj1.childNodes.length Цикл obj2=obj1.childNodes.item(i2-1); сообщить(obj2.text); сообщить(obj2.nodeName); Ид=0+obj2.getAttribute("Ид"); Наименование=obj2.getAttribute("Наименование"); Единица=obj2.getAttribute("Единица"); ЦенаЗаЕдиницу=0+obj2.getAttribute("ЦенаЗаЕдиницу"); сообщить("Ид: "+Ид+" Наименование: "+Наименование+" Единица: "+Единица+" ЦенаЗаЕдиницу: "+ЦенаЗаЕдиницу); КонецЦикла; КонецЦикла; в результате выполнения получаю следующее: 85001800 Ajusa гидрокомпенсаторГидрокомпенсаторы17,210шт.1Ajusa85001800 Товар Ид: 0 Наименование: Единица: ЦенаЗаЕдиницу: 0 46754 Diesel System Cleaner Wynn's очиститель топливной системыПрисадки в топливо3,337шт.1Wynn's46754 Товар Ид: 0 Наименование: Единица: ЦенаЗаЕдиницу: 0 47355 Fuel Stabilizer Wynn's присадка для стабилизации свойств тПрисадки в топливо2,588шт.1Wynn's47355 Товар Ид: 0 Наименование: Единица: ЦенаЗаЕдиницу: 0 |
|||
1
GrayT
27.11.06
✎
15:32
|
Кусок XML-я покажи, а то осчучение что текст есть, а атрибутов нет
|
|||
2
BB52
27.11.06
✎
15:39
|
так он выглядит в XMLEditor
<?xml version="1.0" encoding="UTF-16" ?> - <КоммерческаяИнформация ВерсияСхемы="2.01" ДатаФормирования="2006-11-23"> - <Документ> <ХозОперация>ЗаказТовара</ХозОперация> <Номер>7263867</Номер> <Дата>2006-11-23</Дата> <Роль>Покупатель</Роль> <Валюта>EUR</Валюта> <Курс>2150</Курс> <Кратность>1,27</Кратность> + <Контрагенты> - <Контрагент> <Ид>3333</Ид> <Роль>Покупатель</Роль> </Контрагент> - <Контрагент> <Ид>47</Ид> <Роль>Продавец</Роль> </Контрагент> </Контрагенты> <Время>11:05:51</Время> + <Товары> - <Товар> <Ид>85001800 Ajusa гидрокомпенсатор</Ид> <Наименование>Гидрокомпенсаторы</Наименование> <ИдКаталога /> <ЦенаЗаЕдиницу>17,2</ЦенаЗаЕдиницу> <Количество>10</Количество> <Единица>шт.</Единица> <Коэффициент>1</Коэффициент> <Производитель>Ajusa</Производитель> <ИдВКаталогеПроизводителя>85001800</ИдВКаталогеПроизводителя> </Товар> - <Товар> <Ид>46754 Diesel System Cleaner Wynn's очиститель топливной системы</Ид> <Наименование>Присадки в топливо</Наименование> <ИдКаталога /> <ЦенаЗаЕдиницу>3,33</ЦенаЗаЕдиницу> <Количество>7</Количество> <Единица>шт.</Единица> <Коэффициент>1</Коэффициент> <Производитель>Wynn's</Производитель> <ИдВКаталогеПроизводителя>46754</ИдВКаталогеПроизводителя> </Товар> - <Товар> <Ид>47355 Fuel Stabilizer Wynn's присадка для стабилизации свойств т</Ид> <Наименование>Присадки в топливо</Наименование> <ИдКаталога /> <ЦенаЗаЕдиницу>2,58</ЦенаЗаЕдиницу> <Количество>8</Количество> <Единица>шт.</Единица> <Коэффициент>1</Коэффициент> <Производитель>Wynn's</Производитель> <ИдВКаталогеПроизводителя>47355</ИдВКаталогеПроизводителя> </Товар> </Товары> + <ДополнительныеРеквизиты> - <ДополнительныйРеквизит> <Наименование>Расчет</Наименование> <Значение>0</Значение> </ДополнительныйРеквизит> </ДополнительныеРеквизиты> </Документ> </КоммерческаяИнформация> |
|||
3
GrayT
27.11.06
✎
15:44
|
У тебя ни одного атрибута, а MSXML.DOMDocument - это видимо второй парсер. Я с ним тоже накололся. по тексту он выдает текст всего нижележащего узла :(
|
|||
4
GrayT
27.11.06
✎
15:45
|
Чем выгружал ХМЛ?
|
|||
5
BB52
27.11.06
✎
15:47
|
выгружал не я. мне надо загружать.
как я понял тут что то не то с форматом файла? или же проблема с версией парсера? |
|||
6
myk0lka
27.11.06
✎
15:49
|
(5) Скорее всего парсер...
|
|||
7
GrayT
27.11.06
✎
15:53
|
Да, я стаким столкнулся именно на втором парсере. Но отказываться от него не захотел. Что будет в 3 или 4 - не знаю.
У себя файл переделал в таком виде (на твоем примере) <Товар ид="123343" Наименование="оаповарлаопр" Цена=123 /> |
|||
8
BB52
27.11.06
✎
15:56
|
(7) потом эту строку получаеш из obj2.text и далее анализируеш её сам?
|
|||
9
GrayT
27.11.06
✎
15:58
|
Зачем? Именно getAttribute и считываю, а у тебя вообще нет ни одного атрибута.
|
|||
10
BB52
27.11.06
✎
16:24
|
(9) понятно. Но не стал ломать их алгоритм выгрузки. Работает и в таком виде, только пришлось у <Товар выбирать подчиненные, пробегать по ним и делать проверку который из них сейчас обрабатвывается.. ну а далее уже получать значение из .text
спасибо за помощь! |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |