|
Не получается получить значение ЧтениеXML | ☑ | ||
---|---|---|---|---|
0
Trotter
30.05.19
✎
11:18
|
Здравствуйте!
Есть xml в нём есть срока: <price>150.0</price> Код: Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда Если Чтение.Имя="price" Тогда Сумма = Сумма + Число(Чтение.Значение); КонецЕсли; КонецЕсли; Но вот беда, Чтение.Значение = "" А за следующий проход когда Чтение.Имя <> "price" берётся значение "150" Вроде раньше было достаточно выше приведённого кода, что бы получить значение. Как сейчас ? Или формат xml нужно предварительно привести к чему - то другому (кодировка например) ? |
|||
1
Trotter
30.05.19
✎
11:29
|
На следующей итерации
Чтение.Имя = #text и там мне нужное значение |
|||
2
shadow_sw
30.05.19
✎
11:34
|
Сумма = Сумма + Число(Значение);
|
|||
3
Trotter
30.05.19
✎
11:36
|
(2) Значение {(1,1)}: Переменная не определена (Значение)
|
|||
4
shadow_sw
30.05.19
✎
11:36
|
Пока Чтение.ПрочитатьАтрибут() Цикл
ТипУзла = Чтение.ТипУзла; Имя = Чтение.Имя; Значение = Чтение.Значение; //Код тт Если Имя = "Тест" Тогда НС.КодТТ = Значение; КонецЕсли; Вот работающий код |
|||
5
Жан Пердежон
30.05.19
✎
11:41
|
(4) для какого-то другого xml и какой-то другой задачи
|
|||
6
Trotter
30.05.19
✎
11:46
|
(5) Ага. в (4) что - то не то.
|
|||
7
Trotter
30.05.19
✎
14:07
|
Ап, что не так ?
У вас работает ? |
|||
8
НЕА123
30.05.19
✎
14:24
|
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда
Пока Чтение.ПрочитатьАтрибут() Цикл////////// Если Чтение.Имя="price" Тогда Сумма = Сумма + Число(Чтение.Значение); КонецЕсли; КонецЦикла;////////////////////// КонецЕсли; |
|||
9
Trotter
30.05.19
✎
15:08
|
(8) Нет, не работает.
Переделал чутка: Пока Чтение.Прочитать() Цикл Пока Чтение.ПрочитатьАтрибут() Цикл Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя="price" Тогда Если Чтение.Значение = "" Тогда Иначе Сумма = Сумма + Число(Чтение.Значение); КонецЕсли; КонецЕсли; КонецЦикла КонецЦикла; Сообщить(Сумма); |
|||
10
Trotter
30.05.19
✎
15:10
|
И так нет:
Пока Чтение.Прочитать() Цикл Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя="price" Тогда Пока Чтение.ПрочитатьАтрибут() Цикл Если Чтение.Значение = "" Тогда Иначе Сумма = Сумма + Число(Чтение.Значение); КонецЕсли; КонецЦикла КонецЕсли; КонецЦикла; Сообщить(Сумма); |
|||
11
Trotter
30.05.19
✎
15:11
|
Это же не атрибут, а значение.
Нее пойму это в платформе поменяли или кривой xml |
|||
12
Trotter
30.05.19
✎
15:17
|
Кажется в платформе.
Переделали логику расписывания. |
|||
13
ptiz
30.05.19
✎
15:32
|
Какие атрибуты? Где тут атрибут?
"150.0" в данном примере лежит в ТипУзлаXML.Текст ! |
|||
14
Vinianel
30.05.19
✎
15:38
|
(0) Так и спускайся ещё на уровень. Что-то вроде:
Если Чтение.ТипУзла = ТипУзлаXML.НачалоЭлемента И Чтение.Имя="price" Тогда Чтение.Прочитать(); Сумма = Сумма + Число(Чтение.Значение); КонецЕсли; |
|||
15
Trotter
30.05.19
✎
15:41
|
(13) Да вот и не понятно почему рекомендуют атрибуты...
(14) Да так заработало. |
|||
16
ptiz
30.05.19
✎
15:43
|
(15) При разборе надо читать то, что в файле - могут быть и атрибуты, и просто текст.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |