c#WEB APIへのアクセスおよびXMLドキュメントの読み取り

3724 ワード

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; }


    }
}

 


	
    true
    true
    false
    true
	
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 userXmlList = new List();
            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(json);
                return Per;

            }




        }
    }
}