手头的问题:我在客户端和服务器端都有XML,但是没有一致的方法来解析双方的XML。
大多数浏览器都有DOMParser。但是Node.js没有内置的XML解析器。 Node.js有很多用于XML解析的模块,但我正在寻找一个对前端和后端都一致的XML解析器API。换句话说,我正在寻找一个可以在Node.js中使用的XML解析模块,比如这个
const parser = require(magic_library);
const doc = parser.parseFromString(xml_string, 'application/xml');
以及像这样的浏览器
<script src="magic_library"></script>
<script>
const doc = parser.parseFromString(xml_string, 'application/xml');
</script>
答案 0 :(得分:2)
在Node.js
中library(data.table)
setDT(dat)
dat[
melt(dat, id.vars="personID")[value > 10, .(new=min(value)), by=personID],
on="personID"
]
# personID t1 t2 t3 new
#1: 1 0 11 0 11
#2: 1 0 11 0 11
#3: 2 0 11 13 11
#4: 2 0 11 13 11
在浏览器中
var fastXmlParser = require('fast-xml-parser');
var jsonObj = fastXmlParser.parse(xmlData);
// when a tag has attributes
var options = {
attrPrefix : "@_",
textNodeName : "#text",
ignoreNonTextNodeAttr : true,
ignoreTextNodeAttr : true,
ignoreNameSpace : true,
ignoreRootElement : false,
textNodeConversion : true,
textAttrConversion : false,
arrayMode : false
};
if(fastXmlParser.validate(xmlData)=== true){//optional
var jsonObj = fastXmlParser.parse(xmlData,options);
}
//Intermediate obj
var tObj = fastXmlParser.getTraversalObj(xmlData,options);
var jsonObj = fastXmlParser.convertToJson(tObj);
答案 1 :(得分:0)
您可能想尝试txml。它是最快的xml解析器,可在节点,浏览器和工作程序中使用。而且API非常干净:https://www.npmjs.com/package/txml