Records become tables, the rest becomes an outline
Most XML you’d want in a document is a list of records wrapped in some metadata: a feed with posts, a sitemap with URLs, an export with rows. The converter finds those record groups and writes each one as a GitHub Flavored Markdown table. Everything else becomes a nested list with the element name in bold, attributes as @name=value and the text after a colon.
- RSS 2.0. Channel details become an outline and each
<item>becomes a row. Repeated children such as several<category>tags are joined with commas. - Atom. Each
<entry>becomes a row. Empty elements that carry their value in an attribute, like<link href="…"/>, show the URL. - Sitemaps. A
<urlset>becomes one table of loc, lastmod and any other fields, which is a quick way to review what you’re asking search engines to crawl.
HTML inside a cell (RSS descriptions often carry it in CDATA) is reduced to plain text, and long values are cut at the length you choose so the table stays readable. Pipes are escaped, since a pipe would otherwise start a new column.
Strict parsing, clear errors
The parser checks well-formedness as it goes: mismatched and unclosed tags, unquoted or duplicate attributes, text outside the root, a second root element. It stops at the first real error and shows the line. It never loads external DTDs or entities, so pasting untrusted XML is safe. Nothing leaves your browser.
Working with sitemaps and feeds
To build a sitemap from a list of URLs, use the XML sitemap generator; to test a live one, the sitemap checker. For other data formats there’s JSON to Markdown and CSV to Markdown. If you’re turning feed items into a roundup post, the word counter and reading time calculator help with the final draft.