【问题标题】:Parsing XML in Javascript getElementsByTagName not working在 Javascript getElementsByTagName 中解析 XML 不起作用
【发布时间】:2010-03-15 10:56:52
【问题描述】:

我正在尝试使用 javascript 解析以下 XML:

<?xml version='1.0' encoding='UTF-8'?>
<ResultSet>
    <Result>
        <URL>www.asd.com</URL>
        <Value>10500</Value>
    </Result>
</ResultSet>

XML 由 PHP 脚本生成,用于获取 Bing 中索引的页面数。

我的javascript函数如下:

function bingIndexedPages() {
    ws_url = "http://archreport.epiphanydev2.co.uk/worker.php?query=bingindexed&domain="+$('#hidden_the_domain').val();
    $.ajax({
        type: "GET",
        url: ws_url,
        dataType: "xml",
        success: function(xmlIn){
            alert('success');
            result = xmlIn.getElementsByTagName("Result");
            $('#tb_actualvsindexedbing_indexed').val($(result.getElementsByTagName("Value")).text());
            $('#img_actualvsindexedbing_worked').attr("src","/images/worked.jpg");          
        },
        error: function() {$('#img_actualvsindexedbing_worked').attr("src","/images/failed.jpg");}
    });
}

我遇到的问题是萤火虫说:'result.getElementsByTagName is not a function'

你能看出哪里出了问题吗?

谢谢

【问题讨论】:

  • 你有没有用 Firebug 查看过“xmlIn”,看看它是什么?

标签: javascript jquery xml


【解决方案1】:

我实际上只是修复了它,我做错的是当我试图设置 '#tb_actualvsindexedbing_indexed' 的值时,我没有告诉它使用 xml 的第一个条目,只是将整个对象传递给它.

$('#tb_actualvsindexedbing_indexed').val($(result[0].getElementsByTagName("Value")).text());

无论如何感谢您的帮助。

【讨论】:

  • $('#tb_actualvsindexedbing_indexed').val($(result[0].getElementsByTagName("Value")[0]).text()); ??
  • 这就是我为了让它工作而改变的。基本上只是添加了 [0]
【解决方案2】:

结果 = xmlIn.getElementsByTagName("结果")[0]; $('#tb_actualvsindexedbing_indexed').val($(result.getElementsByTagName("Value")[0]).text());

元素=元素; elements = 元素数组

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 2012-08-06
    • 1970-01-01
    相关资源
    最近更新 更多