Javascript fullstop上的angular xml 2 json服务拆分节点
我使用以下angular服务将xml转换为json: 这对我将简单的xml转换为json很好,但是如果我包含一个fullstop,它会破坏它所在的当前节点。例如:Javascript fullstop上的angular xml 2 json服务拆分节点,javascript,json,angularjs,xml,Javascript,Json,Angularjs,Xml,我使用以下angular服务将xml转换为json: 这对我将简单的xml转换为json很好,但是如果我包含一个fullstop,它会破坏它所在的当前节点。例如: <title>hello</title> <description>This is a description with a fullstop. And so on.</description> 我真的不明白为什么xml2json转换器会修改节点的值,但它似乎正是这样做的 我对该服务
<title>hello</title>
<description>This is a description with a fullstop. And so on.</description>
我真的不明白为什么xml2json转换器会修改节点的值,但它似乎正是这样做的
我对该服务进行了更深入的研究,以确定是否能够发现导致这种情况的原因,我觉得这就是问题所在:
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()
}
};
我希望有人已经解决了这个问题,或者比我聪明的人可以帮助解决。我相信上面的代码正在查找我想你有一个旧版本的实例,请检查它不再有该代码:@Michelem you是对的,它们是不同的。。但我发誓只有一个版本0.0.1奇怪……这是作者的疏忽,他不得不更改版本,但我想他忘了。只需卸载angular-xml2json的本地目录并重新安装它。@Michelem每当我删除并重新安装它时,我都会得到旧版本,就像它看不到我们可以看到的版本一样,即使我只是将其更改为使用github url。。有什么建议吗?试试这个bower安装'git://github.com/sammychl/angular-xml2json69fe1806790ae00ea94c6e4d9a187695c85a2782'
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()
}
};