using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Entity
{
public class PowerXML
{
public string userId { get; set; }
public string userPersonInfoPower { get; set; }
public string userPersonQurInfoPower { get; set; }
public string userIpPlaceInfoPower { get; set; }
public string userEleInfoPower { get; set; }
}
}
<?xml version="1.0" encoding="utf-8"?>
<userPower>
<user Id="abc">
<PersonInfoPower>true</PersonInfoPower>
<PersonQurInfoPower>true</PersonQurInfoPower>
<IpPlaceInfoPower>false</IpPlaceInfoPower>
<EleInfoPower>true</EleInfoPower>
</user>
</userPower>
using Entity;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Web.Http;
using System.Xml;
using test.Models;
namespace test.Controllers
{
public class IPPlaceController : ApiController
{
[HttpGet]
public IPPlcJson Get(string ip)
{
if (ip == "" || ip == null)
{
ip = IPGe.GetIP();//获取IP的方法
}
//XML文档的读取
List<PowerXML> userXmlList = new List<PowerXML>();
XmlDocument uPower = new XmlDocument();
string filename = System.AppDomain.CurrentDomain.BaseDirectory;
uPower.Load(@filename + "/XML/userPower.xml");
//获取根节点
XmlNode xn = uPower.SelectSingleNode("userPower");
XmlNodeList xnl = xn.ChildNodes;
foreach (XmlNode item in xnl)
{
PowerXML userxml = new PowerXML();
// 将节点转换为元素,便于得到节点的属性值
XmlElement xe = (XmlElement)item;
// 得到id属性的属性值
userxml.userId = xe.GetAttribute("Id").ToString();
//获得user节点的所有子节点
XmlNodeList xnc = xe.ChildNodes;
userxml.userPersonInfoPower = xnc.Item(0).InnerText;
userxml.userPersonQurInfoPower = xnc.Item(1).InnerText;
userxml.userIpPlaceInfoPower = xnc.Item(2).InnerText;
userxml.userEleInfoPower = xnc.Item(3).InnerText;
userXmlList.Add(userxml);
}
if (userXmlList[0].userId == "abc" && userXmlList[0].userIpPlaceInfoPower == "true")
{
//web API的访问
string typeBcURL = "http://192.168.168.31:8001/service/Internet/IPAddress/BelongTo?IP=" + ip;
System.Net.WebClient client = new System.Net.WebClient();
System.Net.WebRequest httpRquest = System.Net.HttpWebRequest.Create(typeBcURL);
httpRquest.Method = "get";
httpRquest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8";
System.Net.WebResponse response = httpRquest.GetResponse();
System.IO.Stream responseStream = response.GetResponseStream();
System.IO.StreamReader reader = new System.IO.StreamReader(responseStream, System.Text.Encoding.UTF8);
string json = reader.ReadToEnd();
reader.Close();
reader.Dispose();
responseStream.Close();
responseStream.Dispose();
SaveLog.SaveL("abc", "IPPlace", json);
IPPlcJson Per = JsonConvert.DeserializeObject<IPPlcJson>(json);
return Per;
}
}
}
}