使用Javascript

时间:2018-03-12 16:44:39

标签: javascript jquery html mysql xml

我正在尝试使用MySQL查询:

mysql -h hostName -u username -p databaseName --xml -e 'select * from example' > testData.xml

这将输出一个如下所示的文件:

<?xml version="1.0"?>
<resultset statement="select * from equipment
" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <row>
                <field name="id">5</field>
                <field name="name">arduino</field>
                <field name="quantity">50</field>
  </row>

  <row>
        <field name="id">7</field>
        <field name="name">raspberry pi</field>
        <field name="quantity">50</field>
  </row>
</resultset>

然后我尝试使用XMLHttpRequest来获取其中一个字段的文本值。

var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    myFunction(this);
    }
};
xhttp.open("GET", "testData.xml", true);
xhttp.send();
    
function myFunction(xml) {
    var xmlDoc = xml.responseXML;
    document.getElementById("demo").innerHTML =
    xmlDoc.getElementsByTagName("row")[0].childNodes[0].nodeValue;
}

但是,“demo”中没有显示任何内容(元素是段落),Chrome控制台中不会显示任何错误。我的Javascript不是最好的,但我已经使用W3Schools示例测试了代码,代码工作正常。执行childElementCount将返回正确的'3',因此它知道字段在那里。所以我的假设是XML的格式不正确,更确切地说是“field name =”id“”部分,因为这在其他XML文件示例中显示不同。

有没有办法从MySQL查询返回XML,该查询将正常运行代码?或者有没有办法让这些代码正确运行。

0 个答案:

没有答案