Помогите прочитать xml
☑
0
Повелитель
12.05.17
✎
14:12
Есть вот такая строка:
<prices><price type="RRP" currencyId="KZT">109990</price><price type="Дилерская цена" currencyId="KZT">85117</price></prices>
Код в 1с такой:
Чт = Новый ЧтениеXML;
Чт.ОткрытьФайл(ИмяФайла);
Пока Чт.Прочитать() Цикл
Если Чт.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
ИмяРеквизта = Чт.Имя;
Если ИмяРеквизта = "price" Тогда
Сообщить(Чт.ЗначениеАтрибута(0));
Сообщить(Чт.ЗначениеАтрибута(1));
КонецЕсли;
КонецЕсли;
КонецЦикла;
В сообщении выдает:
RRP
KZT
Дилерская цена
KZT
Как получить цену 85117?
1
Повелитель
12.05.17
✎
14:13
(0) Так нагляднее xml
<prices>
<price type="RRP" currencyId="KZT">109990</price>
<price type="Дилерская цена" currencyId="KZT">85117</price>
</prices>
2
dezss
12.05.17
✎
14:21
чт.Значение
3
Повелитель
12.05.17
✎
14:26
(2) Чт.Значение выдает ""
4
arsik
гуру
12.05.17
✎
14:33
(3) Ну посмотри в отладчике все свойства ЧТ
5
Повелитель
12.05.17
✎
14:40
(4) Посмотрел. Не нашел. Поэтому написал сюда.
6
dezss
12.05.17
✎
14:41
Если Чт.ТипУзла = ТипУзлаXML.Текст Тогда
7
dezss
12.05.17
✎
14:42
И вообще, после начала элемента, надо бы отдельный цикл до конца элемента.
8
dezss
12.05.17
✎
14:44
(5) ты смотрел не туда...надо было смотреть не только внутри твоего Если, а внутри всего цикла.
9
youalex
12.05.17
✎
14:44
1)дойди до .ТипУзла = ТипУзлаXML.Текст
2) Используй DOM, если файл не оч. большой
10
Повелитель
12.05.17
✎
14:47
Понял, спасибо. Сейчас проверю.
11
Повелитель
12.05.17
✎
14:50
Все получилось через Чт.ТипУзла = ТипУзлаXML.Текс спасибо.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший