2015-07-20 87 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

相關問題