我使用以下角度服务将我的xml转换为json: angular-xml2json
这对我将简单的xml转换为json工作得很好但是如果我包含一个fullstop它会打破它所在的当前节点。例如:
{ title: "hello" }
{ description: "this is a description with a fullstop" }
以上将返回:
xml_to_object: function(xmlcode) {
var x = xmlcode.replace(/<\//g, ".");
x = x.split("<");
var y = [];
var level = 0;
var opentags = [];
for (var i = 1; i < x.length; i++) {
var tagname = x[i].split(">")[0];
opentags.push(tagname);
level++
y.push(level + "<" + x[i].split(".")[0]);
while (x[i].indexOf("." + opentags[opentags.length - 1] + ">") >= 0) {
level--;
opentags.pop()
}
};
我真的不明白为什么xml2json转换器会修改节点的值,但它似乎只是这样做。
我深入研究了这项服务,看看能否发现造成这种情况的原因,我觉得这就是问题所在:
</
我希望有人遇到这个问题并解决它,或者比我更聪明的人可以提供帮助。我相信上面的代码是查找.
的实例并将其替换为file.jpeg
,这显然意味着如果您的值中有任何fullstops,例如db.collection.aggregate([
{
"$group": {
"_id": {
"code": "$code",
"modifiedTime": "$modified_time"
},
"docs": {
"$push": "$$ROOT"
}
}
},
{
"$sort": {
"_id.modifiedTime": -1
}
},
{
"$limit": 1
}
]);
或标点符号,则会创建新节点。