Пытаюсь разобраться как парсить xml документы на новом для себя языке.
имеется простой документ
<A class=" FB_FW_ext BlitzScPluginAdapter">
<url replyId="6b8745a8-583e-4a60-b7e7-36ce63684016">http://localhost:8080/opt/out/ReplyRestsShop_v2/1</url>
<url replyId="5b11c3cd-0d67-4914-9983-affb77f9e90c">http://localhost:8080/opt/out/ReplyRests/2</url>
<url replyId="42360627-9dc0-401a-bee3-d2ff9dbab96c">http://localhost:8080/opt/out/Ticket/3</url>
<url replyId="42360627-9dc0-401a-bee3-d2ff9dbab96c">http://localhost:8080/opt/out/Ticket/4</url>
<url replyId="a593ba0b-759a-45c3-a5c5-989d2bbefe48">http://localhost:8080/opt/out/ReplyRestsShop_v2/5</url>
<ver>1</ver>
</A>
делаю следующим способом
[Serializable()]
public class LinkPosition
{
[XmlElement("url")]
public string url { get; set; }
[XmlAttribute("replyId")]
public string replyId { get; set; }
}
[Serializable()]
[XmlRoot("A")]
public class InboxDocuments : Documents
{
[XmlArray("url")]
[XmlArrayItem("url", typeof(LinkPosition))]
public LinkPosition[] list { get; set; }
}
public static void Main()
{
InboxDocuments inbox = null;
XmlSerializer serializer = new XmlSerializer(typeof(InboxDocuments));
WebRequest request = WebRequest.Create("http://localhost:8080/opt/out");
WebResponse response = request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(stream);
inbox = (InboxDocuments)serializer.Deserialize(reader);
}
response.Close();
Console.WriteLine(inbox.list[0].url);
}
Но возникает исключение System.IndexOutOfRangeException: "Индекс находился вне границ массива."
Что я делаю не так. спасибо.