2015-07-20 85 views
0

我在我的网页上使用http://ip-api.com/docs/api:xml的XML API来获取访问我网站的访问者的信息。 以下是从他们的API返回的成功的XML文档:如何从xml Ip 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> 

它不工作,我getiing一个空白页。

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

请帮助我,我一直在试图解决这个问题,因为早晨

+0

尝试加载如下所示的XML文档:http://www.w3schools.com/dom/dom_parser.asp – DaniKR

回答

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

相关问题