C# Deserializing XML from API returns(EntireWeb)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml;
using System.Net;
using System.Text;
using System.IO;
using System.Xml.Serialization;
using System.Runtime.Serialization;
namespace EPWeb
{
#region classes for entireweb API
[DataContract]
public class HIT
{
[DataMember]
[XmlElement("TITLE")]
public string TITLE { get; set; }
[DataMember]
[XmlElement("SNIPPET")]
public string SNIPPET { get; set; }
[DataMember]
[XmlElement("URL")]
public string URL { get; set; }
[DataMember]
[XmlElement("LINK")]
public string LINK { get; set; }
[DataMember]
[XmlElement("DISPLAYURL")]
public string DISPLAYURL { get; set; }
[DataMember]
public string LANG { get; set; }
[DataMember]
public string REGION { get; set; }
[DataMember]
public string CLUSTERING { get; set; }
[DataMember]
public string ID { get; set; }
[DataMember]
public string LOCATION { get; set; }
[DataMember]
public string LASTCRAWL { get; set; }
[DataMember]
public string SIZE { get; set; }
[DataMember]
public string IMP { get; set; }
[DataMember]
public string INDEX { get; set; }
}
[DataContract]
public class QUERY {
[DataMember]
[XmlElement("HIT")]
public HIT[] hit { set; get; }
}
[DataContract]
public class ENTIREWEB
{
[DataMember]
[XmlElement("QUERY")]
public List<QUERY> query { get; set; }
}
#endregion
public partial class xmlTest : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void XMLButton_Click(object sender, EventArgs e)
{
string RequestURL = "http://www.entireweb.com/xmlquery?pz=aae463e0c94ecfbf9b01db2d58cb53ce&n=10&of=0&sc=9&format=xml&q=entireweb+search+engine";
string xmlResult = new WebClient().DownloadString(RequestURL).ToString();
ENTIREWEB ew = new ENTIREWEB();
ew = DeserializeFromXml<ENTIREWEB>(xmlResult);
// Response.Write(ew.query.First().hit[1].DISPLAYURL);
foreach (var a in ew.query.First().hit)
{
Response.Output.WriteLine("The title: {0} The URL is: {1} ***", a.TITLE, a.URL);
}
}
public static T DeserializeFromXml<T>(string xml)
{
T result;
XmlSerializer ser = new XmlSerializer(typeof(T));
using (TextReader tr = new StringReader(xml))
{
result = (T)ser.Deserialize(tr);
}
return result;
}
}
}