XML Data Parser plugin for Data Loggers
Latest version: 5.0.1 build 1126. November 28, 2025.
This XML Data Parser plugin extracts XML fragments from an incoming data flow, parses XML nodes and attributes, and exports them as individual parser variables. You can then use these values in any data export plugin of Advanced Serial Data Logger, Advanced TCP/IP Data Logger, or Data Logger Suite. The plugin is designed for technical specialists who collect device, controller, or application data in XML format and need a reliable way to separate, normalize, and export that data to databases, CSV, or other downstream systems.
The plugin monitors the incoming byte stream and searches for a specific XML root node. Once it finds a complete XML structure with the specified root, it parses all nested nodes and attributes. Each parsed value is exposed as a parser item. You can control whether node values, attribute values, or both are exported.
A typical use case is a device that sends measurements or configuration information as an XML block. For example, a device with TCP may return status data wrapped in a <Response> node. Without this plugin, that XML would be treated as a raw string. With the plugin, each XML attribute and node becomes a separate field, such as "Response.timeout" or "Item.Temperature". These fields are then available to export plugins like ODBC Database Export, CSV Export, or OPC server modules.
Integration with Advanced TCP/IP Data Logger
The XML Data Parser plugin integrates with a data logger's pipeline. The logger receives raw data from TCP or UDP ports, then through the XML parser, and finally hands the parsed variables to any enabled export plugins.
A simple and practical scenario is a weather station that sends environmental measurements as XML over a TCP connection. The station may report temperature, humidity, wind speed, and wind direction inside a root node such as <Weather>. The XML data received at "2025-01-02 08:00:00" could look like this:
<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>
You configure the plugin with root node name Weather, enable "Export node values" and "Export attribute values", and enable "Add node name to attribute name" and "Export names in uppercase". In the "XML nodes" list you can define:
- Temperature as type Float
- Humidity as type Float
- WindSpeed as type Float
- WindDirection as type Integer
- time (attribute of Measurement) as type DateTime
Assuming the logger maps the message timestamp to "DATE_TIME_STAMP", the plugin may expose the following parser variables:
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
If you use a CSV export plugin, one line per data record could be generated as:
2025-01-02 08:00:00;WS100;18.4;C;55.2;percent;4.7;m_s;210;deg
For a database export, a typical INSERT command using these parser items might be:
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
);
With this configuration, every XML data packet received from the device is stored as a separate record with clearly named fields. You can then create reports, dashboards, or alerts based on received values.
Key Features
- Extracts complete XML blocks from RS232 or TCP/IP ports based on a configurable rules.
- Exports node values and attribute values as parser variables with optional node name prefixes.
- Supports detailed filter rules for nodes and attributes.
- Supports multiple data types.
- Provides character translation to remove or replace unwanted characters before XML parsing.
- Uses configurable timeouts to prevent blocking on incomplete XML sequences.
- Integrates with Advanced Serial Data Logger, Advanced TCP/IP Data Logger, and Data Logger Suite.
Summary
The XML Data Parser plugin converts raw XML fragments from serial and network data streams into structured, typed fields. This allows technical professionals to store, analyze, and act on XML-based data in other applications with minimal configuration effort.
How to enable this plugin
The figure below shows how to select the plugin on the "Modules" page.

Fig.1. Selecting the plugin.
How to configure the plugin
The figure below shows basic settings to extract XML data. Of course, you may change the poll interval as you want.

Fig.2. Configuring the plugin.
Read more about other plugins:
All plugins | ASCII Data Query and Parser | MODBUS RTU, MODBUS TCP, MODBUS ASCII | Scale Data Parser | DNP3 protocol | GE Fanuc Automation PLC (via CCM, SNP, SNP-X protocols) | Siemens SIMATIK PLC (S7-200, S7-300, S7-400, S5) | EtherNet/IP | M-Bus | Bacnet/IP | IEC 62056-21 | DLMS/COSEM | DL-T645-2007 | CJ/T 188-2004 | Kamstrup [KMP protocol] | Data parser module for ADAM, ICP-CON and NuDAM devices | RFC3164 (syslog protocol) data parser | HTTP data parser | File requests | XML Data Parser | CSV or delimited data parser | RFID Protocols Data Parser (LLRP, ISO 18000-6B, ISO 18000-6C) | JSON parser