2015-07-03 18 views
0

对于下列网页XML: http://www.realclearpolitics.com/epolls/2012/president/us/general_election_romney_vs_obama-1171.html如何找到网页上的

我将如何去寻找与图表中的数据相关的XML。我知道XML页面是http://charts.realclearpolitics.com/charts/1171.xml,因为有人告诉我。但是,我怎么会认为我自己呢?

感谢

+1

有没有规定说,从XML生成的每个内容需要公开发布的XML也是如此。 – usr2564301

+0

美国政治 - 三个Gs - 枪同性恋和上帝!似乎很清楚 –

回答

0

通常你可以在网站上找到的RSS链接或查看页面的源代码和搜索.XML

您还可以使用在谷歌以下查询:

网站: realclearpolitics.com filetype:xml

0

您是否试过以下linq xml?

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Xml; 
using System.Xml.Linq; 


namespace ConsoleApplication1 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      XDocument doc = XDocument.Load("http://charts.realclearpolitics.com/charts/1171.xml"); 

     } 
    } 
} 
​ 
0

我终于得到它来绘制

using System; 
using System.Collections.Generic; 
using System.ComponentModel; 
using System.Data; 
using System.Drawing; 
using System.Linq; 
using System.Text; 
using System.Windows.Forms; 
using System.Windows.Forms.DataVisualization.Charting; 
using System.Xml; 
using System.Xml.Linq; 
using System.IO; 

namespace WindowsFormsApplication1 
{ 
    public partial class Form1 : Form 
    { 
     public Form1() 
     { 
      InitializeComponent(); 
      XDocument doc = XDocument.Load("http://charts.realclearpolitics.com/charts/1171.xml"); 
      var results = new { 
       X = doc.Descendants("series").Descendants("value").Select(y => (DateTime)y).ToList(), 
       Obama = doc.Descendants("graph").Where(y => y.Attribute("title").Value == "Obama").Descendants("value").Select(y => (string)y == "" ?null : (double?)y).ToList(), 
       Romney = doc.Descendants("graph").Where(y => y.Attribute("title").Value == "Romney").Descendants("value").Select(y => (string)y == "" ?null : (double?)y).ToList() 
      }; 


      chart1.Series.Add("Obama"); 
      chart1.Series["Obama"].ChartType = SeriesChartType.Point; 
      chart1.Series["Obama"].Points.DataBindXY(results.X, results.Obama); 
      chart1.Series.Add("Romney"); 
      chart1.Series["Romney"].ChartType = SeriesChartType.Point; 
      chart1.Series["Romney"].Points.DataBindXY(results.X, results.Romney); 
      chart1.DataBind(); 

     } 
    } 
} 
​