/// <summary> /// 官方api 根据玩家id获取玩家信息 /// </summary> /// <param name="id"></param> /// <returns></returns> public Model.CharacterInfo CharacterInfo(string id) { string url = "https://api.eveonline.com/eve/CharacterInfo.xml.aspx?characterID=" + id; XmlDocument doc = new XmlDocument(); doc.Load(url); XmlNode xn = doc.SelectSingleNode("eveapi"); XmlNode xn2 = xn.SelectSingleNode("result"); Model.CharacterInfo ci = new Model.CharacterInfo(); XmlNodeList xnl0 = xn2.ChildNodes; //开始收集玩家信息 if (xnl0.Count > 13) //没用联盟有12个元素 { ci.characterID = xnl0.Item(0).InnerText; ci.characterName = xnl0.Item(1).InnerText; ci.race = xnl0.Item(2).InnerText; ci.bloodline = xnl0.Item(4).InnerText; ci.ancestry = xnl0.Item(6).InnerText; ci.corporationID = xnl0.Item(7).InnerText; ci.corporation = xnl0.Item(8).InnerText; ci.corporationDate = xnl0.Item(9).InnerText; ci.allianceID = xnl0.Item(10).InnerText; ci.alliance = xnl0.Item(11).InnerText; ci.allianceDate = xnl0.Item(12).InnerText; ci.securityStatus = xnl0.Item(13).InnerText; } else { ci.characterID = xnl0.Item(0).InnerText; ci.characterName = xnl0.Item(1).InnerText; ci.race = xnl0.Item(2).InnerText; ci.bloodline = xnl0.Item(4).InnerText; ci.ancestry = xnl0.Item(6).InnerText; ci.corporationID = xnl0.Item(7).InnerText; ci.corporation = xnl0.Item(8).InnerText; ci.corporationDate = xnl0.Item(9).InnerText; ci.securityStatus = xnl0.Item(10).InnerText; } XmlNode xn3 = xn2.SelectSingleNode("rowset"); //雇佣记录信息收集 XmlNodeList xnl1 = xn3.ChildNodes; List <EVE_Central.Model.corporation> corplist = new List <corporation>(); //雇佣记录泛型 foreach (XmlNode xn1 in xnl1) { EVE_Central.Model.corporation bookModel = new corporation();//雇佣记录实体类 // 将节点转换为元素,便于得到节点的属性值 XmlElement xe = (XmlElement)xn1; // 得到Type和ISBN两个属性的属性值 bookModel.recordID = xe.GetAttribute("recordID").ToString(); bookModel.corporationID = xe.GetAttribute("corporationID").ToString(); bookModel.corporationNam = xe.GetAttribute("corporationName").ToString(); bookModel.startDate = xe.GetAttribute("startDate").ToString(); corplist.Add(bookModel); } ci.employmentHistory = corplist; return(ci); }
/// <summary> /// 雇佣记录 /// </summary> /// <param name="s"></param> /// <param name="i">默认5 最多展示五条雇佣记录</param> /// <returns></returns> public string StringMemberHistory(string s, int k = 5) { Model.CharacterInfo memberinfo = CharacterInfoFromName(s); string stringinfo = "人物名称:" + memberinfo.characterName + '\n'; if (memberinfo.employmentHistory.Count < k) { k = memberinfo.employmentHistory.Count; } for (int i = 0; i < k; i++) { stringinfo += memberinfo.employmentHistory[i].corporationNam + ' ' + memberinfo.employmentHistory[i].startDate + '\n'; } return(stringinfo); }
/// <summary> /// 根据名字返回精简用户信息 [0]返回头像url 【1】信息 /// </summary> /// <param name="s"></param> /// <returns></returns> public string[] StringCharacterInfo(string s) { Model.CharacterInfo memberinfo = CharacterInfoFromName(s); string url = "https://imageserver.eveonline.com/Character/" + memberinfo.characterID + "_128.jpg"; string stringinfo = "人物名称:" + memberinfo.characterName + '\n'; stringinfo += "建号时间:" + memberinfo.employmentHistory[memberinfo.employmentHistory.Count - 1].startDate + '\n'; stringinfo += "所在公司:" + memberinfo.corporation + '\n'; stringinfo += "加入时间:" + gethisttime(memberinfo.employmentHistory[0].startDate) + '\n'; if (memberinfo.alliance == null) { stringinfo += "所在联盟:Strategic Fooyou Agency\n"; } else { stringinfo += "所在联盟:" + memberinfo.alliance + '\n'; } stringinfo += "安全等级:" + memberinfo.securityStatus.Substring(0, 4); string[] ss = new string[2]; ss[0] = url; ss[1] = stringinfo; return(ss); }