当前位置: 首页 > 面试题库 >

jQuery将XML标签转换为大写

楚丰羽
2023-03-14
问题内容

我有一个AJAX请求,该请求返回我想注入DOM的XML字符串。我的功能看起来像

  $.ajax({
    type: 'POST',
    url: "myrequest",
    data: postdata,
    datatype: 'json',
    success: function (arguments) {
        newxmlstring = arguments.newxml;
        oldnode = $("someselector specified in the arguments passed");
        oldnode.replaceWith(newxmlstring);
    }
  });

此方法有效,但似乎replaceWith函数将所有内容映射nodeName服务器发送的响应的大写版本中。我假设尝试使用jQuery处理XML有点古怪吗?

因此,例如,如果响应字符串是<data>asdf</data>在我访问时$(newnode)[0].nodeName得到的'DATA'

有人知道如何在保留nodeName小写字母的同时处理新的XML 吗?

编辑:我的答复是JSON,因为它包含新的xml字符串和有关将新的xml节点附加到何处的其他数据。因此,我希望尽可能保留datatype: 'json'


问题答案:

在XML(以及基于XML的语言,例如XHTML)中,tagName保留大小写。在HTML中,tagName以规范的大写形式返回元素名称。tagName的值与nodeName的值相同。

一点搜索表明,很多人都遇到了这个问题,尤其是选择器和XML(jQuery的find()区分大小写,在find()中使用的选择器是小写的)。

这是其他人用来将字符串转换为可能适合您的XML
的函数:

$.text2xml = function(sXML) { 
    // NOTE: I'd like to use jQuery for this, but jQuery makes all 
    // tags uppercase 
    //return $(xml)[0]; 
    var out; 
    try{ 
        var dXML = ($.browser.msie)?new ActiveXObject("Microsoft.XMLDOM"):new DOMParser(); 
        dXML.async = false; 
    }catch(e){ throw new Error("XML Parser could not be instantiated"); }; 
    try{ 
        if($.browser.msie) out = (dXML.loadXML(sXML))?dXML:false; 
        else out = dXML.parseFromString(sXML, "text/xml"); 
    } 
    catch(e){ throw new Error("Error parsing XML string"); }; 
    return out;
}


 类似资料:
  • XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输

  • 问题内容: 对于此测试XML页面,以下代码可以很好地运行: 但是,如何修改此代码以从此欧洲中央银行页面获取利率数据? 参考: http://www.fyneworks.com/jquery/xml-to-json/#tab-用法 使用JavaScript获取数据 问题答案: 请尝试以下方法。我已经在FF 3.6和Chrome 6上对其进行了测试,它可以正常工作。

  • 问题内容: 我有一些需要用XML迷惑的HTML文件。我们正在使用这些HTML为应用程序提供内容,但是现在我们必须以XML形式提供这些内容。 HTML文件包含,表格,div,图像,p,b或强标签等。 我用谷歌搜索并找到了一些应用程序,但是我还无法实现。 您能否建议一种将这些文件内容转换为XML的方法? 问题答案: 我成功使用了命令行实用程序。在Linux上,我使用迅速安装了它。然后命令: 给了一个x

  • 问题内容: 我试图将JSON输出转换为XML。不幸的是我得到这个错误: JSON根对象具有多个属性。根对象必须具有单个属性才能创建有效的XML文档。考虑指定DeserializeRootElementName。 这就是我到目前为止所创建的。 这是我的JSON输出: 我怎么解决这个问题? 问题答案: 尽管问题中提供的JSON并不完整,但您在顶层具有多个属性,如异常所示。您必须为其定义根以获取有效的X

  • 问题内容: 目标: 使用jQuery,我试图替换所有出现的情况: 与: 我的解决方案: 我了解到以下内容: 我的解决方案的问题: 但是问题在于它用 第一个 “ code”标签之间的内容替换了(第二,第三,第四等)“ code”标签之间的所有内容。 例如 变成 我认为我需要使用“ this”和某种功能,但恐怕我还在学习,并且不太了解如何将解决方案组合在一起。 问题答案: 您可以将一个函数传递给 [d

  • 问题内容: 输入XML 输出Json 如何编写通用的xslt样式表,它将输入的xml转换为json 输入可能在根目录下有太多结果,在结果下可能有系统和名称,在系统下还有ID名称和值。 问题答案: 我从此处复制并粘贴的以下XSLT 应该可以帮助您将XML转换为JSON。谢谢 :)