• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Чтение Xml - Файла

  • Автор темы Дайнеко
  • Дата начала
Д

Дайнеко

Читаю ХML:
Код:
	Пока Чтение.Прочитать() Цикл
Сообщить(Чтение.Имя);
Если НЕ Входит(Чтение.Имя, "Стр") Тогда
Продолжить;
КонецЕсли;
.....
Значение = Чтение.ПолучитьАтрибут(Имя);
.....
КонецЦикла;

Сам исходный XML:
<?xml version="1.0"?>
<СчетаРеализации>
<Стр1 СчетРез="90.09" СчетВыр="90.01" СчетНдс="90.02" СчетСто="90.04"/>
<Стр2 СчетРез="91.09" СчетВыр="91.01" СчетНдс="91.02" СчетСто="91.04"/>
</СчетаРеализации>


Проблема в том, вопреки моим ожиданиям цикл проходит в 2 раза больше чем нужно.
Поставил команду Сообщить. Она выдает:
СчетаРеализации
Стр1
Стр1
Стр2
Стр2
СчетаРеализации
 
S

SeverBap

Я обычно такое грохал так:
Код:
ЧтениеХМЛ = Новый ЧтениеXML;
ПараметрыЧтенияХМЛ = Новый ПараметрыЧтенияXML(,,,,,,,,Истина);
ЧтениеХМЛ.ОткрытьФайл(ФайлХМЛ,ПараметрыЧтенияХМЛ);
ДОМ = Новый ПостроительDOM();
ДокументDOM = ДОМ.Прочитать(ЧтениеХМЛ);
СписокСчетаРеализации=ДокументDOM.ПолучитьЭлементыПоИмени("СчетаРеализации");
Для Каждого СчетаРеализации Из СписокСчетаРеализации Цикл
Для Каждого ПараметрУзел Из СчетаРеализации.ДочерниеУзлы Цикл

Если НЕ Входит(ПараметрУзел.ИмяУзла, "Стр") Тогда
Продолжить;
КонецЕсли;

КонецЦикла;
КонецЦикла;
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!