2

我从 XML 读取数据有一个小问题。

XML 文件

<user name="Name1" status="online" ip="0.0.0.0">
     <stats>
       <cwok>201</cwok>
       <cwnok>0</cwnok>
       <cwignore>0</cwignore>
     </stats>
</user>

* Highcharts 脚本从 XML 读取数据 *

// Load the data from the XML file
   $.get('oscamapi.html?part=userstats', function(xml) {

// Split the lines
   var $xml = $(xml);

// push series
   $xml.find('user').each(function(i, series) {
   var seriesOptions = {
   name: $(series).find('name').text(),
   data: []
    };

// push data points
   $(series).find('stats cwok').each(function(i, point) {
   seriesOptions.data.push(
   parseInt($(point).text())
   );
   });

// add it to the options
   options.series.push(seriesOptions);
    });
   var chart = new Highcharts.Chart(options);
   });
   });

我需要从 XML中获取元素用户中的值属性名称。

我认为问题出在此处:

 var seriesOptions = {
    name: $(series).find('name').text(),
    data: []
 };

请你帮帮我。

非常感谢

4

3 回答 3

0

我想出了如何从属性 "name" 中获取值。感谢您的回答 :-)

var seriesOptions = {
    name: $(series).attr('name'),
    data: []
};
于 2013-06-02T18:52:28.807 回答
0

我不确定您是否想要折线图或其他图表,但我准备了带有散点系列的简单示例,以及一个点,其值为 get grom "cwok"。如果您想获得更多积分,则需要更多 cwok 项目。

$(document).ready(function() {
   var options = {
  chart: {
      renderTo: 'container',
      type:'scatter'
  },
  series: []
  };

  $.get('data.xml', function(xml) {
// Split the lines
  var $xml = $(xml);
  console.log(xml);

  // push categories
  $xml.find('stats cwok').each(function(i, data) {

    var seriesOptions = {

            data: []
    };

    seriesOptions.data.push(

      parseInt($(data).text())

    );

    options.series.push(seriesOptions);
  });

  var chart = new Highcharts.Chart(options);

  });
});
于 2013-05-31T16:17:40.567 回答
0

但现在我还有其他问题。我不知道如何每 1 秒从 XML 中获取 cwok 的价值

XML 文件

<user name="Name1" status="online" ip="0.0.0.0">
 <stats>
   <cwok>100</cwok>
   <cwnok>0</cwnok>
   <cwignore>0</cwignore>
 </stats>
</user>
<user name="Name2" status="online" ip="0.0.0.0">
 <stats>
   <cwok>200</cwok>
   <cwnok>0</cwnok>
   <cwignore>0</cwignore>
 </stats>
</user>

从 XML 读取数据的 Highcharts 脚本

 // Load the data from the XML file
 $.get('oscamapi.html?part=userstats', function(xml) {

 // Split the lines
 var $xml = $(xml);

 // push series
 $xml.find('user').each(function(i, series) {
 var seriesOptions = {
 name: $(series).attr('name'),
 data: []
 };

// push data points
$(series).find('stats cwok').each(function(i, point) {
seriesOptions.data.push(
parseInt($(point).text())
);
});

// add it to the options
options.series.push(seriesOptions);
});
var chart = new Highcharts.Chart(options);
});
});

感谢您的想法和帮助

于 2013-06-03T19:56:36.183 回答