XML test data generator

Well-formed <records> documents with correct escaping, built from the same 60+ realistic field types — for the enterprise integrations, SOAP endpoints and XSLT pipelines that still speak XML.

Generate XML data → Browse field types

What the output looks like

<?xml version="1.0" encoding="UTF-8"?>
<records>
  <record>
    <id>1</id>
    <full_name>Elena Rossi</full_name>
    <email>elena.rossi7@example.org</email>
  </record>
</records>

Why XML?

Plenty of production systems — ERP integrations, banking interfaces, SOAP services, print pipelines — still exchange XML, and they deserve realistic test payloads too. The export wraps each row in a <record> element under a single <records> root, with field names as element names and all special characters (&, <, quotes) properly escaped.

Where XML export helps

  • Legacy imports — feed batch interfaces that only accept XML drops.
  • XSLT & XPath tests — realistic documents make transformation bugs visible early.
  • Schema mapping — field names become element names, so a customer_email field yields <customer_email> exactly.
  • Blank % — blanks render as empty elements, the classic edge case in XML consumers.

Quick recipe: sanity-check with xmllint

xmllint --noout fundata_1000_rows.xml && echo "well-formed"

XML structure and compatibility

Files include an XML declaration and a single <records> root, so the result is a complete document rather than a fragment. Field names are sanitized for element use, text is UTF-8 and reserved characters are entity-escaped. The generator does not attach an XSD or namespaces because integration contracts vary; use the stable, seeded output as a fixture and validate it against your own schema in CI.

Common XML questions

Is the generated XML well-formed?

Yes. Each record is nested under one root element, tags are balanced and special characters in values are escaped. You can verify any export with xmllint --noout.

Can I generate SOAP envelopes or a custom XML hierarchy?

The built-in export intentionally uses a simple records/record structure. Generate the row data first, then transform it with XSLT or application code when your contract needs namespaces or nested envelopes.

For integration and regression fixtures, see the QA test-data guide.

Other formats

The same schema exports to all six formats — switch with one dropdown: CSV, TSV, JSON, NDJSON, SQL. New here? Start with the getting-started guide or the full field type reference.