【问题标题】:How Get xml content from xml Ip api and display it on webpage?如何从 xml Ip api 获取 xml 内容并将其显示在网页上?
【发布时间】:2015-10-09 11:04:03
【问题描述】:

我在我的网页上使用http://ip-api.com/docs/api:xml 的 XML api 来获取有关访问我网站的访问者的信息。 以下是从他们的 api 返回的成功的 xml 文档:

<country>United Kingdom</country>
<countryCode>UK</countryCode>
<region>Bristol</region>
<ip>xx.xx.xx.x</ip>
<ISP>VodafoneM</ISP>

我想使用 javascript 在我的网页上显示此 xml 文档的内容,我知道可以使用 PHP 等服务器端语言轻松完成,我的 php 版本旧,解析 xml 文档时返回错误。所以我正在寻找客户端解决方案。

这是我迄今为止尝试过的:

<script>
xmlDoc=loadXMLDoc("http://ip-api.com/xml/xx.xx.xx.x");
x=xmlDoc.getElementsByTagName("country")[0]y=x.childNodes[0];
document.write(y.nodeValue);
</script>

它不起作用,我得到一个空白页。

如何在我的网页上显示 xml 文件的内容?

请帮帮我,我从早上开始就一直在努力解决这个问题

【问题讨论】:

标签: javascript xml ip


【解决方案1】:

我已将您的代码修改如下:

    //txt = loadXMLDoc("http://ip-api.com/xml/xx.xx.xx.x");
    var txt = '<country>United Kingdom</country><countryCode>UK</countryCode><region>Bristol</region><ip>xx.xx.xx.x</ip><ISP>VodafoneM</ISP>';
    txt = '<query>' + txt + '</query>';

    // Info: http://www.w3schools.com/xml/xml_parser.asp
    if (window.DOMParser) {
        parser = new DOMParser();
        xmlDoc = parser.parseFromString(txt, "text/xml");
    }
    else // Internet Explorer
    {
        xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = false;
        xmlDoc.loadXML(txt);
    }

    var x = xmlDoc.getElementsByTagName("country")[0];
    var y = x.childNodes[0];
    //document.write(y.nodeValue);
    document.getElementById("content").innerHTML = y.nodeValue;

请在jsfiddle查看结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-28
    • 1970-01-01
    • 2011-08-10
    • 2019-11-30
    • 2011-01-09
    • 1970-01-01
    相关资源
    最近更新 更多