0
我試圖從這個XML中獲取'max'買賣元素來跟蹤tyeID;XML數據沒有跟蹤ID,因此應該輸入更多條目。
這裏是我使用的代碼;該XML是一個鏈接(見下文)
private void JitaOrePrices()
{
ListViewItem itm;
//listview settings.
listView1_Jita.View = View.Details;
listView1_Jita.GridLines = true;
listView1_Jita.FullRowSelect = true;
//convert to string.
string string1 = "http://api.eve-central.com/api/marketstat?typeid=34&
minQ=1&typeid=35&minQ=1&typeid=36&minQ=1&typeid=37&minQ=1&typeid=38&
minQ=1&typeid=39&minQ=1&typeid=40&minQ=1&typeid=11399&minQ=1&
typeid=27029&minQ=1&usesystem=30000142";
// add colums to put into.
listView1_Jita.Columns.Add("Type", 35);
listView1_Jita.Columns.Add("(B)", 43);
listView1_Jita.Columns.Add("(S)", 43);
//set arrays to put into.
string[] arr = new string[3];
XElement xdoco = XElement.Load(string1);
XmlDocument doco = new XmlDocument();
doco.Load(string1);
XmlNodeList Blist = doco.SelectNodes("/evec_api/marketstat/type");
XmlNodeList Clist = doco.SelectNodes("/evec_api/marketstat/type/buy");
XmlNodeList Dlist = doco.SelectNodes("/evec_api/marketstat/type/sell");
foreach (XmlNode xnod in Blist)
foreach (XmlElement znod in Clist)
foreach (XmlElement dnod in Dlist)
{
if (xnod.Attributes["id"] != null)
arr[0] = xnod.Attributes["id"].InnerText;
arr[1] = znod.SelectSingleNode("max").InnerText;
arr[2] = dnod.SelectSingleNode("max").InnerText;
itm = new ListViewItem(arr);
itm.Font = new Font("Tahima", 9);
listView1_Jita.Items.Add(itm);
}
}
發生了什麼? - 它採取了最大的賣出價格和買入價值,並制定了一個更大的清單,然後預期,我希望它只返回每個ID號碼的2個值。
XML看起來像這樣;
只是櫃面我不是explaing自己很好(講了很多次)的例子是,
類型| (B)|(S)
34 | 6.32 | 19.00
35 | 11.53 | 22.32
這裏是正在發生的事情:
都能跟得上,這是返回一個錯誤「不能隱式類型‘systen.xml.xmlnode’通過的XmlNode爲buyNode轉換爲‘systen.xml.xmlelement’ – Losec
我有更新,替換型的XmlElement更換並出售節點 – ArDumez
新錯誤「{」對象引用未設置爲對象的實例。「}」on line「arr [1] = znod.SelectSingleNode(」max「)。InnerText;」 – Losec