[メモ書き]
たとえば下記のようなXMLが取得できる場合を想定
<report>
<head>
<title>Title</title>
<type>Type</type>
</head>
<body>
<item>
<name>A</name>
<age>20</age>
</item>
<item>
<name>B</name>
<age>22</age>
</item>
</body>
</report>
下記クラスを定義する
model.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Serialization;
namespace Test
{
[XmlRoot("report")]
public class Report
{
[XmlElement("head")]
public Head head;
[XmlElement("body")]
public Body body;
}
public class Head
{
[XmlElement("title")]
public string title;
[XmlElement("type")]
public string type;
}
public class Body
{
[XmlElement("item")]
public List<Item> items;
}
public class Item
{
[XmlElement("name")]
public string name;
[XmlElement("age")]
public int age;
}
}
main.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Xml.Serialization;
namespace Test
{
public void main()
{
var url = "{url}";
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
var stream = response.GetResponseStream();
XmlSerializer serializer = new XmlSerializer(typeof(Report));
var report = serializer.Deserialize(stream) as Report;
}
}