Rules for well formed XML
If the JSON is an object with a single key, that key becomes the root element. Otherwise everything is wrapped in a root element whose name you can set. An array becomes one element per item with the name of its key, so "tag": ["a", "b"] becomes two <tag> elements. A list at the top level is written as <item> elements.
XML names cannot contain spaces or start with a digit, so such keys are adjusted, for example first name becomes first_name, and the tool lists every key it had to change. Null and empty text become empty elements like <note/>. Special characters are escaped, and control characters that XML does not allow are removed. The output uses the same @ and #text rules as XML to JSON, so data can travel both ways.
About JSON
JSON (JavaScript Object Notation) writes data as objects in curly braces, lists in square brackets, text in double quotes, numbers, true, false and null. Almost every API and programming language reads it.
About XML
XML (Extensible Markup Language) stores data in nested elements with opening and closing tags, and can add attributes to each element. It is common in feeds, e-invoices, Office files and SOAP services.