Convert XML, an RSS feed or an SVG into JSON, with attributes kept as @name and repeated siblings collected into arrays.
The result appears hereAs keys prefixed with @, beside the element's children. XML has two kinds of content and JSON has one, so the prefix is what keeps an attribute from colliding with a child of the same name.
When it appears more than once under the same parent. A single item stays an object, which is the ambiguity every XML conversion has to live with: one entry and two entries come out differently shaped.
Numbers and true/false are converted, everything else stays a string, and an empty element becomes null. XML itself has no types, so this is a convenience rather than a rule.