bg

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.

Download  | PDF manual

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.

Download  | PDF manual

How to enable this plugin

The figure below shows how to select the plugin on the "Modules" page.

Selecting the XML parser plugin

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.

Configuring the parser

Fig.2. Configuring the plugin.