我有使用Linq的構建對象保存XML數據的問題。例如,我在url http://api.eve-central.com/api/marketstat?typeid=34&usesystem=30000142中有XML數據。在MarketStat
類我想抱着type id
價值和MarketValue
類陣列我想擁有的buy
sell
all
節點volume
avg
max
min
stddev
median
percentile
值。我從來沒有使用LINQ到目前爲止所以請幫我解決在下面的代碼我的問題:C#使用Linq從XML中提取數據
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
namespace ConsoleApplication1
{
internal class MarketValue
{
public int Volume { get; set; }
public double Avg { get; set; }
public double Max { get; set; }
public double Min { get; set; }
public double Stddev { get; set; }
public double Median { get; set; }
public double Percentile { get; set; }
}
internal class MarketStat
{
public string Name { get; set; }
public MarketValue[] MarketValueses { get; set; }
}
internal class Program
{
private static List<MarketStat> list;
internal static void Main(string[] args)
{
list = (
from e in XDocument.Load("http://api.eve-central.com/api/marketstat?typeid=34&usesystem=30000142").
Root.Elements("marketstat")
select new MarketStat
{
Name = (string) e.Element("type id"),
MarketValueses = (
from mv in e.Elements("buy")
select new MarketValue
{
Volume = (int) mv.Element("volume"),
Avg = (double) mv.Element("avg"),
Max = (double)mv.Element("max"),
Min = (double)mv.Element("min"),
Stddev = (double)mv.Element("stddev"),
Median = (double)mv.Element("median"),
Percentile = (double)mv.Element("percentile")
}).ToArray()
}).ToList();
}
}
}
您的鏈接僅返回一組數字,而不是任何XML。也許這個QA可以幫助你:http://stackoverflow.com/questions/10518372/how-to-deserialize-xml-to-object – John
@John,它返回XML;可能你的瀏覽器只是把它當作HTML來處理,而不是原始的顯示。 – adv12
好的注意。我認爲提到的質量保證將有助於序列化對象。 – John