如何从xml Ip api获取xml内容并显示在网页上



我在我的网页上使用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文件的内容?

请帮帮我,我从早上就在想办法解决这个问题

我将你的代码改编如下:

    //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中检查结果

最新更新