I am using the modeler as a base tool and adding my own functionalities to it. Using the standard modeler.saveXML function, it’s already possible to download the XML model (which uses the xml variable). However, I am trying to convert the XML model to JSON before downloading it, so I need the XML file/text as a variable. How can I achieve this?
The xml variable gets its value with var xml = e.target.result; and I have tried to make that a global variable so I can use it elsewhere in my code, but that doesn’t work.
I have found something that kind of solves my problem, although it might not be the most ‘beautiful’ solution. For now, I have updated the SaveDiagram function in the Modeler example to the following:
updatedXML is a global variable which I can now use to convert to JSON. It only works once the initial model that is loaded has changed at least once, but that’s fine.
I also found that using bpmn-js-cli I could log the XML to the console, by using cli.save('bpmn'); but I didn’t know how to use that XML model after that.
What is the use-case of converting the XML to JSON? What are you trying to achieve and how is the JSON supposed to look like? What information is it going to contain?
I am connecting my bpmn-js modeler to a service that analyses model elements. That service communicates using JSON files, so I need to convert the XML elements (element id’s, labels, sequence flows, etc) to be contained in a JSON file. So that file basically contains a list of elements with their id’s and labels.