如何在JavaScript中将字符串转换为XML对象? [英] How to convert string to XML object in JavaScript?

查看:114
本文介绍了如何在JavaScript中将字符串转换为XML对象?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道已经存在这个问题,但它我没有运气。

I am aware of this question already existing, but it has given me no luck.

我有一个应用程序通过以下方法加载一个物理XML文档:

I have an application which loads a physicial XML document via the following method:

jQuery.ajax({
    type: "GET",
    url: fileName,
    dataType: "xml",
    success: function (data) {
        // etc...
    }
});

我解析XML并将其转换为一个字符串,该字符串保存到变量中以便它可以轻松实现存储在数据库中。我现在如何将此变量中的数据转换回XML对象,以便可以对其进行解析?

I parse the XML and convert it into a string which is saved into a variable so that it can easily be stored in a database. How can I now convert the data in this variable back into an XML object so that it can be parsed as such?

推荐答案

非-jQuery版本:

Non-jQuery version:

var parseXml;

if (window.DOMParser) {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" && new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    parseXml = function() { return null; }
}

var xmlDoc = parseXml("<foo>Stuff</foo>");
if (xmlDoc) {
    window.alert(xmlDoc.documentElement.nodeName);
}

从jQuery 1.5开始,你可以使用 jQuery.parseXML() ,其工作方式与上述完全相同代码:

Since jQuery 1.5, you can use jQuery.parseXML(), which works in exactly the same way as the above code:

var xmlDoc = jQuery.parseXML("<foo>Stuff</foo>");
if (xmlDoc) {
    window.alert(xmlDoc.documentElement.nodeName);
}

这篇关于如何在JavaScript中将字符串转换为XML对象?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆