php - jQuery 将 XML 返回的字段名称大写?

标签 php jquery xml

我从 PHP 页面输出此 XML 并在 jQuery 中解析结果:

<?xml version="1.0" encoding="UTF-8"?> <response> <row> <webpage_tag_id>2096</webpage_tag_id> <stackPageID>Test</stackPageID> </row> <row> <webpage_tag_id>2175</webpage_tag_id> <stackPageID>Test</stackPageID> </row> </response>

当我在 jQuery 中 console.log 结果时,我得到:

[Object, Object]
0: Object
STACKPAGEID: "Test"
WEBPAGE_TAG_ID: "2096"
__proto__: Object
1: Object
STACKPAGEID: "Test"
WEBPAGE_TAG_ID: "2175"

很好,但是为什么这些字段要大写?问题是以下代码输出“未定义”:

$.each(updateArr, function(index,item) {            
    console.log(item.webpage_tag_id);
}); 

...但这会返回正确的结果:

   $.each(updateArr, function(index,item) {         
        console.log(item.WEBPAGE_TAG_ID);
    }); 

有人听说过这样的问题吗?

这是我用来解析的函数:

$(xml).find("row").each(function () {   

        var idx=0;
        var name='';
        var $currentNode = $(this);
        var rowObj = new Object();  
        var nodeName = $currentNode.children()[idx].nodeName;

        while( nodeName ) 
        {
            rowObj[nodeName] = $currentNode.find(nodeName).text();

            if ($currentNode.children()[idx]) {
                 nodeName = $currentNode.children()[idx].nodeName
            } else {
                nodeName=false;
            }

            idx++;
        }

        arr.push(rowObj);       
    });

最佳答案

$(string) 将字符串解析为 HTML(使用 DOM API),浏览器将其标准化为大写。

您需要 $.parseXML(xml),它返回一个真实的 XML DOM。
您可能还想围绕它创建一个 jQuery 对象。 ($(XML DOM element) 很好,不会解析为 HTML)

http://api.jquery.com/jQuery.parseXML/

关于php - jQuery 将 XML 返回的字段名称大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16681517/

相关文章:

php - 如何隐藏类 ="<?php print $example;?>"CSS

php - 我正在计算答案,但不知道如何自动化

php - 未找到列 : Unknown column using Model reference but work with object reference laravel 6

javascript - 如何在 javascript 变量中插入 html 代码?

java - 具有特定类型但名称未知的 JAXB 元素

发布到数据库后的 PHP 重定向

javascript - 使用 jquery 为 addClass/removeClass 添加动画效果

javascript - 单击添加和删除每个 div 的背景颜色

java - 使用 dom4j 在 xml 文档上添加元素

java - 实现 LSResourceResolver 以递归读取 XSD 集