我目前正在使用phonegap开发单页应用程序。我想要实现的是最初解析一个xml文件并存储内容以供进一步使用。
目前一切正常但有一个主要问题:
在我的xml文件中,有一个包含html格式文本内容的标记。例如:
<textfield> <h1>Title</h1> Content </textfield>
我目前所做的是通过jQuery ajax调用加载我的xml文件,然后使用html()方法检索我的textfield html:
this.description = $(Obj).find("textfield").html();
在谷歌浏览器,Firefox和Android上,这很好用。 html存储后可以附加到我的对象。但是在Safari上,因此在iphone设备上,html()不起作用。现在我正在寻找一种解决方法。我当然不想使用text(),因为我的格式将被忽略。
编辑:我的ajax电话:
$.ajax({
type: "GET",
url: Controller.baseURL+"/"+name+".xml",
async: false,
timeout:3000,
dataType: "xml",
success: function (data) {
alert("succ");
xml = data;
},
error: function () {
alert('error!');
}
});
也许有人可以帮助我。
提前致谢
答案 0 :(得分:2)
var parser = new DOMParser();
var parsed = parser.parseFromString(yourXMLStringLoadedViaAjax, 'text/xml');
var textfieldConetent = parsed.querySelector('textfield').innerHTML;
答案 1 :(得分:0)
经过几个小时的搜索,我终于在这里找到了答案:
https://stackoverflow.com/a/25789924/3566334
似乎
在IE 9,10和11,Safari 7.0和Opera 12中,doc中的节点既没有innerHTML字段也没有xml字段
我遵循了使用XML Serializer的建议,它就像一个魅力!