Topics   All   MacOS (Only)   Windows (Only)   Linux (Only, Not)   iOS (Only, Not)  
Components   Crossplatform Mac & Win   Server   Client   Old   Deprecated   Guides   Examples   Videos
New in version: 12.2   12.3   12.4   12.5   13.0   13.1   13.2   13.3   13.4   13.5    Statistic    FMM    Blog  


Converts XML to JSON.

Component Version macOS Windows Linux Server iOS SDK
XML 8.2 ✅ Yes ✅ Yes ✅ Yes ✅ Yes ✅ Yes
MBS( "XML.ToJSON"; XML { ; Flags } )   More


Parameter Description Example Flags
XML The XML to process. "<test>Hello</test>"
Flags Various Flags.
Add 1 to ignore errors in xml and continue parsing. This may lead to not everything in the xml being read.
Add 2 to put attributs inline.
Add 4 to make entries with true/false being boolean.
Add 8 to make entries with numbers as numbers.
Add 16 to include namespaces.
Add 32 to use empty text for empty xml nodes.
0 Optional


Returns JSON or error.


Converts XML to JSON.
For nodes in the XML we create objects and key/values.
Attributes are put in @attributes nodes.
Namespaces are stripped.

Added option flag 2 in version 10.5 to not use @attributes object, but put attributes directly in objects with "@" prefix. The JSON.ToXML function unpacks that.

Added option flags 4 and 8 for version 11.2 to handle boolean and numbers.
Added option flag 16 in version 12.1 to include namespaces.


Try it:

Set Variable [ $XML ; Value: MBS( "JSON.ToXML"; "{\"Hello\": \"World\"}"; "test") ]
Show Custom Dialog [ $xml ]
Set Variable [ $JSON ; Value: MBS( "XML.ToJSON"; $XML) ]
Show Custom Dialog [ $json ]

Try with boolean and number detection:

</test>"; 4 + 8 )

Example result:
{ "test": { "value": [123, 45.67, true, false, "Hello"] } }

See also

Release notes

  • Version 13.2
    • Added flag 32 to XML.ToJSON function to keep empty nodes as text nodes instead of empty objects.
    • Fixed a problem with empty attributes causing an error in JSON for XML.ToJSON function.
  • Version 12.5
    • Changed XML.ToJSON to better convert single values, which are boolean or number and not just text.
  • Version 12.4
  • Version 12.1
    • Added new flag for XML.ToJSON to include namespaces.
  • Version 11.2
    • Added new flags for XML.ToJSON to detect numbers and booleans better.
  • Version 10.5
    • Changed XML.ToJSON and added option for compacter attributes processing.
  • Version 10.4
  • Version 10.0
    • Improved CData handling for XML.ToJSON function.
  • Version 9.5

Example Databases

Blog Entries

This function checks for a license.

Created 27th April 2018, last changed 13th April 2023

XML.SubTree - XML.Validate

💬 Ask a question or report a problem