如何从API获取xml值

时间:2016-12-16 21:20:31

标签: javascript html ajax xml

我正在尝试显示一个包含在API中的值(这个api由一个名为PRTG的程序用来从程序中提取信息),这就是API

  

http://192.168.1.65/api/table.xml?content=channels&output=xml&columns=name%2Clastvalue_&id=1234&username=someguy&password=notmypassword

此API为您提供了一个类似于此的xml文件。

SELECT a.id, a.name, IFNULL(COUNT(b.id), 0)
FROM classe AS a
LEFT JOIN alunno AS b ON b.id_classe = a.id
WHERE a.id = :1

我想获取标记 lastvalue 中的值并将其显示在网页中,我尝试过使用javascript但根本没有任何效果

1 个答案:

答案 0 :(得分:0)

我怀疑你需要JavaScript,因为结果应显示在页面上。如果你调用API只是改变ajax部分,一切都应该工作。为了模仿API的一些响应,我在文件上做了这个。

<html>
    <head>
        <title>Demo</title>
    </head>
    <body>
    <p id="result"></p>

    <script>
    var xhttp;
    xhttp = new XMLHttpRequest();
    xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) {
            myFunction(this);
        }
    };
    xhttp.open("GET", "channels.xml", true);
    xhttp.send();

    function myFunction(xml) {
        var x, i, txt, xmlDoc, node; 
        xmlDoc = xml.responseXML;
        txt = "";
        x = xmlDoc.getElementsByTagName("item");
        for (i = 0; i < x.length; i++) { 
            node = x[i].getElementsByTagName('lastvalue');
            if (node && node.length > 0){
                txt += node[0].textContent + "<br>";
            }
        }
        document.getElementById("result").innerHTML = txt;
    }
    </script>

    </body>
 </html>

enter image description here