var x2js = new X2JS();
function convertXml2JSon() {
$("#jsonArea").val(JSON.stringify(x2js.xml_str2json($("#xmlArea").val())));
}
function convertJSon2XML() {
$("#xmlArea").val(x2js.json2xml_str($.parseJSON($("#jsonArea").val())));
}
convertXml2JSon();
convertJSon2XML();
$("#convertToJsonBtn").click(convertXml2JSon);
$("#convertToXmlBtn").click(convertJSon2XML);
使用服务器端作为客户端的最佳方法并不适用于所有场景。我试图用 javascript 构建在线 json to xml 和 xml to json 转换器,但是我觉得几乎不可能,因为它不能在所有场景中工作。最终,我在 ASP.MVC 中使用 Newton 在服务器端完成了这项工作。这是在线转换器 http://techfunda.com/Tools/XmlToJson
//default options need not to set
var defaultOptions = {
attributeNamePrefix : "@_",
attrNodeName: "@", //default is false
textNodeName : "#text",
ignoreAttributes : true,
encodeHTMLchar: false,
cdataTagName: "__cdata", //default is false
cdataPositionChar: "\\c",
format: false,
indentBy: " ",
supressEmptyNode: false
};
var parser = new parser.j2xParser(defaultOptions);
var xml = parser.parse(json_or_js_obj);
也可以使用 Txml。它可以解析成由简单对象组成的 DOM 并进行字符串化。在结果中,内容将被修剪。因此,使用空格的原始格式将丢失。但是这可以很好地用于缩小 HTML。
const xml = require('txml');
const data = `
<tag>tag content</tag>
<tag2>another content</tag2>
<tag3>
<insideTag>inside content</insideTag>
<emptyTag />
</tag3>`;
const dom = xml(data); // the dom can be JSON.stringified
xml.stringify(dom); // this will return the dom into an xml-string