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()