Safely passing XML string to Reactive HTML

I think this is not the best solution, but this could be work. I am passing json string and change it back into xml with js.

import xmltodict, json
from panel.reactive import ReactiveHTML
import panel as pn
import param

o = xmltodict.parse(xml)
json_text=json.dumps(o)

class XmlReader(ReactiveHTML):
    
    xml = param.String(default='')
    
    _template = """
    <div id="container">
    </div>
    """
    
    _scripts = {
        'render':   """
            var data = data.xml
            var jsonObj = JSON.parse(data); 
            var xml = json2xml(jsonObj)
            console.log(xml) 
        """
    } 

    __javascript__ ={
        'http://goessner.net/download/prj/jsonxml/json2xml.js',
    }
xml_reader = XmlReader(xml=json_text)
pn.extension()
xml_reader.servable()
1 Like