(I think you mean "convert XML to...")
"technically not impossible", but I'll let you be the judge how 'light' it'll be... 
Here's a simple 3 question form: 1 text question, 1 number, 1 date.
In ODK Build's native JSON format:
{"title":"My First Form","controls":[{"name":"text","label":{"0":"This is a text question"},"hint":{},"defaultValue":"","readOnly":false,"required":false,"requiredText":{},"relevance":"","constraint":"","invalidText":{},"calculate":"","length":false,"metadata":{},"type":"inputText"},{"name":"number","label":{"0":"This is a number quesion"},"hint":{},"defaultValue":"","readOnly":false,"required":false,"requiredText":{},"relevance":"","constraint":"","invalidText":{},"calculate":"","range":false,"appearance":"Textbox","kind":"Integer","selectRange":{"min":"1","max":"10"},"selectStep":"1","sliderTicks":true,"metadata":{},"type":"inputNumeric"},{"name":"date","label":{"0":"This is a date question"},"hint":{},"defaultValue":"","readOnly":false,"required":false,"requiredText":{},"relevance":"","constraint":"","invalidText":{},"calculate":"","range":false,"kind":"Full Date","metadata":{},"type":"inputDate"}],"metadata":{"version":2,"activeLanguages":{"0":"English","_counter":0,"_display":"0"},"optionsPresets":[],"htitle":null,"instance_name":"","public_key":"","submission_url":""}}
In XForm XML:
<h:html xmlns="http://www.w3.org/2002/xforms" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jr="http://openrosa.org/javarosa">
<h:head>
<h:title>My First Form</h:title>
<model>
<instance>
<data id="build_My-First-Form_1550731957">
<meta>
<instanceID/>
</meta>
<text/>
<number/>
<date/>
</data>
</instance>
<itext>
<translation lang="English">
<text id="/data/text:label">
<value>This is a text question</value>
</text>
<text id="/data/number:label">
<value>This is a number quesion</value>
</text>
<text id="/data/date:label">
<value>This is a date question</value>
</text>
</translation>
</itext>
<bind nodeset="/data/meta/instanceID" type="string" readonly="true()" calculate="concat('uuid:', uuid())"/>
<bind nodeset="/data/text" type="string"/>
<bind nodeset="/data/number" type="int"/>
<bind nodeset="/data/date" type="date"/>
</model>
</h:head>
<h:body>
<input ref="/data/text">
<label ref="jr:itext('/data/text:label')"/>
</input>
<input ref="/data/number">
<label ref="jr:itext('/data/number:label')"/>
</input>
<input ref="/data/date">
<label ref="jr:itext('/data/date:label')"/>
</input>
</h:body>
</h:html>
And finally an XSLForm:
My-First-Form-export.xlsx (16.5 KB)
As you can see, the XML format is arguably the most complex and difficult to interpret, ie parse, which is precisely what you'll have to do to translate it into something more consumable (aka XLSForm). The thing with XML XForms is that each question is effectively broken apart and put in three different sections of the XML format: the instance data (<data>...</data>
), binding section (<bind/><bind/>...
) and finally the control section (<input>...</input>
). Whereas formats like XLSForm and ODK Build's JSON ostensibly collect all the info about each question together - one row per question in the case of XLSForm, or one JSON dictionary per question in the case of ODK Build.
So translating an XML form to either of these formats first requires extracting all the necessary data for each question from very different places in the XML form, which in practice requires a pretty high level of technical expertise (eg XSLT and XPath experience). And even that is completely ignoring things like repeat groups and translations!
Unfortunately, if these (XML) forms are business-critical, and you need to regularly edit them, either you'll have to learn/train folks to edit the raw XML (yuck!), or bite-the-bullet and rewrite them as either XLSForms or ODK Build (depending on your preference for form builder).