|
распарсить 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
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший