Javascript:如何用XML文件中的值替换随机值?

时间:2017-03-01 18:57:59

标签: javascript xml

在一方面,我有一个基于Justgage网站上的示例的JavaScript,其中包含随机生成器以提供演示值。 目的是显示XML文件中的值。

对最小值,最大值,标签,标题等进行调整是没有问题的,导致下面的脚本定义var g1的函数,并且对变量g2,g3和g4重复

window.onload = function(){
  var g1 = new JustGage({
    id: "g1",
    value: getRandomInt(100, 200),
    min: 0,
    max: 200,
    title: "Power",
    label: "W"
    textRenderer: customValue1
  });

另一侧是一个XML文件,其中包含要导入Javascript的gauge_power,gauge_temp,gauge_vpv和gauge_iac的值,分别用于“填充”g1,g2,g3和g4。

<response>
 <gauge_power>1300</gauge_power>
 <gauge_temp>0.0</gauge_temp>
 <gauge_vpv>103.0</gauge_vpv>
 <gauge_iac>0.0</gauge_iac>
 <energy_today>2.658</energy_today>
 <energy_total>7324.9</energy_total>
 <hours_total>17490</hours_total>
 <time_stamp>20161017 13:32</time_stamp>
</response>

在我看来,我需要替换脚本行

value: getRandomInt(100, 200),

通过替代'call',g1从XML文件中提取gauge_power的值。

尝试了StackOverflow的几个示例解决方案,但没有结果。

请求(提示)此案例的工作解决方案

1 个答案:

答案 0 :(得分:0)

function createGage(val){
  return new JustGage({
    id: "g1",
    value: val,
    min: 0,
    max: 200,
    title: "Power",
    label: "W"
    textRenderer: customValue1
  });


var xhr = new XMLHttpRequest();

xhr.open("GET", "/path/to/file.xml", true);
xhr.onreadystatechange = function () {
  if(xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
    var xml = xhr.responseText;
    var parser = new DOMParser();
    var domFragment = parser.parseFromString(xml, 'text/xml');
    var gaugePower = domFragment.querySelector('gauge_power').textContent;

    createGage(gaugePower);
  }
};

xhr.send();