Sample XML files for testing parsers and feeds, free and CC0

XML parsers differ most on namespaces, and XML feeds are still everywhere. These three files cover plain records, namespaces and a real feed.

xml/people-10.xml holds ten records of the shared people dataset as elements, one child element per column: the simplest shape for testing a mapping from XML to rows.

xml/with-namespaces.xml has a default namespace, two prefixed namespaces, a namespaced attribute and xml:lang. Code that matches element names without their namespace, or ignores the default namespace, finds nothing or the wrong thing, which is the most common bug in hand-written XML handling.

xml/rss2-feed.xml is an RSS 2.0 feed with ten items and fixed publication dates, for feed readers, podcast tools and aggregators. Like all markup on this site, the files are served with a sandbox Content-Security-Policy, so opening one in a browser runs nothing.

Related formats: JSON and YAML.

3 files. The same list as JSON: https://loremfile.dev/xml/index.json

XML files
FileSizePropertiesDescription
people-10.xml 5.8 KB (5,843 bytes) utf-8, LF Ten people records as elements, one child element per column.
Snippets
<a href="https://loremfile.dev/xml/people-10.xml">download</a>
curl -O https://loremfile.dev/xml/people-10.xml
rss2-feed.xml 4 KB (4,036 bytes) utf-8, LF An RSS 2.0 feed with ten items and fixed publication dates.
Snippets
<a href="https://loremfile.dev/xml/rss2-feed.xml">download</a>
curl -O https://loremfile.dev/xml/rss2-feed.xml
with-namespaces.xml 913 B utf-8, LF A default namespace, two prefixed namespaces, a namespaced attribute and xml:lang.
Snippets
<a href="https://loremfile.dev/xml/with-namespaces.xml">download</a>
curl -O https://loremfile.dev/xml/with-namespaces.xml

Every XML file in one command, each checked against its hash: npx loremfile get --format xml, or loremfile get --format xml after pip install loremfile.

File names follow the naming grammar. Verify a download against sha256sums.txt.