Модуль Парсер данных XML для программ-логгеров
Последняя версия: 5.0.1 build 1205. December 12, 2025.
Плагин XML Data Parser извлекает фрагменты в формате XML из входящего потока данных, анализирует узлы и атрибуты XML и экспортирует их как отдельные переменные парсера. Затем вы можете использовать эти значения в любом плагине экспорта данных Advanced Serial Data Logger, Advanced TCP/IP Data Logger или Data Logger Suite. Плагин предназначен для технических специалистов, которые собирают данные устройств, контроллеров или приложений в формате XML и нуждаются в надежном способе нормализации и экспорта этих данных в базы данных, CSV или другие системы обработки.
Плагин анализирует входящий поток данных и ищет определенный корневой узел XML. Как только он находит полный блок с указанным корнем, он парсит все вложенные узлы и атрибуты. Каждое разобранное значение становится элементом парсера. Вы можете управлять, будут ли экспортироваться значения узлов, значения атрибутов или оба.
Типичный сценарий использования - устройство, которое посылает измерения или конфигурационные данные в виде XML-блока. Например, устройство по TCP может возвращать данные состояния, упакованные в узел <Response>. Без этого плагина такой XML рассматривался бы как необработанная строка. С плагином каждый XML-атрибут и узел становится отдельным полем, например "Response.timeout" или "Item.Temperature". Эти поля затем доступны плагинам экспорта, таким как ODBC Database Export, CSV Export или модулям OPC.
Интеграция с Advanced TCP/IP Data Logger
Плагин XML Data Parser интегрируется в конвейер обработки данных логгером. Логгер получает необработанные данные из TCP или UDP порта, затем данные проходят через парсер XML, и в конце разобранные переменные передаются любым используемым модулям экспорта данных.
Простой и реальный сценарий - метеостанция, которая отправляет измерения окружающей среды в формате XML через TCP соединению. Станция может передавать температуру, влажность, скорость ветра и направление ветра внутри узла, например <Weather>. Пример данных XML, полученных в "2025-01-02 08:00:00", может выглядеть так:
<Weather stationId="WS100" fwVersion="1.2.3">
<Measurement time="2025-01-02 07:59:42">
<Temperature unit="C">18.4</Temperature>
<Humidity unit="percent">55.2</Humidity>
<WindSpeed unit="m_s">4.7</WindSpeed>
<WindDirection unit="deg">210</WindDirection>
</Measurement>
</Weather>
Вы настраиваете плагин с именем корневого узла Weather, включаете опции "Экспортировать значения узлов" и "Экспортировать значения атрибутов", а также включаете "Добавлять имя узла к имени атрибута" и "Экспортировать имена в верхнем регистре". В списке "Узлы XML" вы можете определить:
- Temperature как тип Float
- Humidity как тип Float
- WindSpeed как тип Float
- WindDirection как тип Integer
- time (атрибут узла Measurement) как тип DateTime
Допустим, логгер устанавливает метку времени сообщения в "DATE_TIME_STAMP", то плагин может предоставить следующие переменные парсера:
DATE_TIME_STAMP = 2025-01-02 08:00:00 WEATHER.STATIONID = WS100 WEATHER.FWVERSION = 1.2.3 MEASUREMENT.TIME = 2025-01-02 07:59:42 TEMPERATURE = 18.4 TEMPERATURE.UNIT = C HUMIDITY = 55.2 HUMIDITY.UNIT = percent WINDSPEED = 4.7 WINDSPEED.UNIT = m_s WINDDIRECTION = 210 WINDDIRECTION.UNIT = deg
Если вы используете плагин экспорта в CSV, одна строка данных на запись может выглядеть так:
2025-01-02 08:00:00;WS100;18.4;C;55.2;percent;4.7;m_s;210;deg
Для экспорта в базу данных команда INSERT с использованием этих элементов парсера может выглядеть так:
INSERT INTO WeatherLog (
log_time,
station_id,
measurement_time,
temperature_value,
temperature_unit,
humidity_value,
humidity_unit,
wind_speed_value,
wind_speed_unit,
wind_direction_value,
wind_direction_unit
) VALUES (
:DATE_TIME_STAMP,
:WEATHER.STATIONID,
:MEASUREMENT.TIME,
:TEMPERATURE,
:TEMPERATURE.UNIT,
:HUMIDITY,
:HUMIDITY.UNIT,
:WINDSPEED,
:WINDSPEED.UNIT,
:WINDDIRECTION,
:WINDDIRECTION.UNIT
);
С такой конфигурацией каждый пакет XML, полученный от устройства, сохраняется как отдельная запись с четко именованными полями. После этого вы можете создавать отчеты, панель мониторинга или оповещения на основе получаемых значений.
Ключевые возможности
- Извлечение полных узлов XML из данных RS232 или TCP/IP на основе настраиваемых правил.
- Экспорт значений узлов и значений атрибутов как переменных парсера с опциональными префиксами имени узла.
- Поддержка правил фильтрации данных для узлов и атрибутов, включая действия ignore или parse и богатое сопоставление типов данных.
- Перевод символов для удаления или замены нежелательных символов перед разбором XML.
- Использование настраиваемых таймаутов для предотвращения блокировки при неполных пакетах данных.
- Интеграция с Advanced Serial Data Logger, Advanced TCP/IP Data Logger и Data Logger Suite.
Резюме
Плагин XML Data Parser преобразует XML фрагменты из последовательных и сетевых данных в структурированные типизированные поля. Это позволяет техническим специалистам сохранять, анализировать и работать с данными на основе XML в других приложениях с минимальными усилиями по настройке.
Как включить модуль
На рисунке ниже вы можете увидеть, как включить данных модуль в настройках программы на странице "Модули".

Рис.1. Выбор модуля.
Как настроить модуль
На рисунке ниже показан пример настроек модуля. Вы можете ознакомиться с файлом справки по ссылке выше, для получения более подробной информации.

Рис.2. Настройка модуля.
Другие похожие модули:
Все модули | ASCII данные (парсер и запросы) | MODBUS RTU, MODBUS TCP, MODBUS ASCII | Обработка данных от весов | DNP3 протокол | GE Fanuc Automation PLC (через протоколы CCM, SNP, SNP-X) | Siemens SIMATIK PLC (S7-200, S7-300, S7-400, S5) | EtherNet/IP | M-Bus | Bacnet/IP | IEC 62056-21 | DLMS/COSEM | DL-T645-2007 | Kamstrup [KMP протокол] | Модуль запроса и обработки данных для модулей ADAM, ICP-CON и NuDAM | RFC3164 (syslog протокол) | HTTP data parser | Файловые запросы | Парсер XML | CSV или разделенные табуляцией данные | RFID Reader Protocol Parser (LLRP, ISO 18000-6B, ISO 18000-6C) | Парсер JSON