Имя: Пароль:
1C
 
распарсить XML
0 Новый1сник2
 
18.10.23
09:22
Добрый день!

подскажите как распарсить такой формат:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE feedback>
<feedback date="2023-10-06T09:37:13.000000Z" id="22"><feedbackData><field name="type" value="Не нашли то что искали"/><field name="Имя" value="Василий "/><field name="Телефон" value="+7хххххххххх"/><field name="E-mail" value="ххххххххххх@gmail.com"/><field name="Сообщение" value="Нужна запчасть артикул  ххххххххх"/></feedbackData></feedback>
1 Новый1сник2
 
18.10.23
09:23
пробовал через чтение, выдает какую то ерунду

    
Парсер = Новый ЧтениеXML;
    Парсер.ОткрытьФайл(ПутьКФайлу);
    
    Пока Парсер.Прочитать() Цикл
        Если Парсер.ТипУзла = ТипУзлаXML.НачалоЭлемента  Тогда
            ИмяУзла = Парсер.Имя; Сообщить("--" + ИмяУзла);
            Пока Парсер.ПрочитатьАтрибут() Цикл
                //ТипУзла = Парсер.ТипУзла;
                Имя = Парсер.Имя;
                Сообщить(Имя + " = " + Парсер.Значение);
                //Значение = Чтение.Значение;  
            КонецЦикла;
            КонецЕсли;
        
    КонецЦикла;
2 бегинер
 
18.10.23
09:29
3 Новый1сник2
 
18.10.23
09:33
(2) читал, по ссылке не такой формат, не подходит
4 tesei
 
18.10.23
09:36
Какую именно ерунду выдает? Проблема с кодировкой?
5 Новый1сник2
 
18.10.23
09:40
name = Сообщение
--feedback
date = 2023-10-08T07:27:32.000000Z
id = 22
--feedbackData
--field
name = type
value = Не нашли то что искали
--field
name = Имя
value = Василий
--field
name = Телефон
value = +7хххххххххх
--field
name = E-mail
value = ххххххх@gmail.com
--field
value = Нужна запчасть артикул  ххххххххх
6 Новый1сник2
 
18.10.23
09:45
name и value, это Парсер.Имя, если бы значение было value, тогда просто сравниваешь    Если name = "Имя" Тогда значение.
а тут не понятно, как разобрать.
7 Рэйв
 
18.10.23
09:41
(5)А чем собственно не доволен?  Выдало то что ты просил в коде и что лежит в файле.
8 Новый1сник2
 
18.10.23
09:49
скинули образец, попробую
9 sikuda
 
18.10.23
10:40
(5) SAX-обработчик устроен так, что он просто считывает последовательно XML файлы и реагирует на разные события, после чего передает информацию специальному обработчику событий.(Матчасть)
10 trooba
 
18.10.23
10:44
(1) Через ПостроительDOM не пробовал?
11 Новый1сник2
 
18.10.23
10:50
(10) да разобрался уже, благодарю, Через ПостроительDOM делаю
12 arsik
 
18.10.23
10:50
(0) Да вроде все красиво. В чем вопрос то? field - массив
https://i.imgur.com/6h9UoY3.png