JSFiddle - React, Tailwind, and code Playground
JavaScript
"strict mode";
function createDocumentXml(base64Document, category, documentName, documentExtension, userId, documentSizeBytes){
let xmlTemplate =
'<document xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">' +
'<active>true</active>' +
'<category></category>' +
'<content></content>' +
'<createdByID></createdByID>' +
'<createdDate xsi:nil="true"/>' +
'<description></description>' +
'<fileExtension></fileExtension>' +
'<name></name>' +
'<size></size>' +
'</document>'
// use a DOM parser to modify the XML safely (i.e. escape any reserved characters)
let parser = new DOMParser();
let xmlDocument = parser.parseFromString(xmlTemplate, 'text/xml');
xmlDocument.getElementsByTagName('category')[0].textContent = category;
xmlDocument.getElementsByTagName('content')[0].textContent = base64Document;
xmlDocument.getElementsByTagName('createdByID')[0].textContent = userId.toString();
xmlDocument.getElementsByTagName('description')[0].textContent = documentName;
xmlDocument.getElementsByTagName('fileExtension')[0].textContent = documentExtension;
xmlDocument.getElementsByTagName('name')[0].textContent = documentName;
xmlDocument.getElementsByTagName('size')[0].textContent = documentSizeBytes.toString();
let serializer = new XMLSerializer();
var str = serializer.serializeToString(xmlDocument);
var div = document.createElement("div");
div.innerHTML = str;
var inner = div.getElementsByTagName('document')[0].innerHTML;
return inner;
}
var i = createDocumentXml('base64Document', 'category', 'documentName', 'documentExtension', 'userId', 'documentSizeBytes');
console.log(i);