Blocking problem, C#, .net, Deserializing XML to object problem

Posted by fernando on Stack Overflow See other posts from Stack Overflow or by fernando
Published on 2010-06-12T08:52:07Z Indexed on 2010/06/12 9:03 UTC
Read the original article Hit count: 299

Filed under:
|
|

Hi I have a blocking problem I have XML file under some url

http://myserver/mywebApp/myXML.xml

In the below code which I run in Console Application, bookcollection has null Books field :(


<books>
<book id="5352">
<date>1986-05-05</date>
<title>
Alice in chains
</title>
 </book>
<book id="4334">
<date>1986-05-05</date>
<title>
1000 ways to heaven
</title>
 </book>
<book id="1111">
<date>1986-05-05</date>
<title>
Kitchen and me
</title>
 </book>
</books>

XmlDocument doc = new XmlDocument(); 
doc.Load("http://myserver/mywebapp/myXML.xml");
BookCollection books = new BookCollection();

        XmlNodeReader reader2 = new XmlNodeReader(doc.DocumentElement);
        XmlSerializer ser2 = new XmlSerializer(books.GetType());
        object obj = ser2.Deserialize(reader2);

        BookCollection books2=   (BookCollection)obj; 




using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    [Serializable()]
      public class Book
        {
             [System.Xml.Serialization.XmlAttribute("id")]
            public string id { get; set; }

             [System.Xml.Serialization.XmlElement("date")]
            public string date { get; set; }

              [System.Xml.Serialization.XmlElement("title")]
            public string title { get; set; }


        }
}





using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;

namespace ConsoleApplication1
{
    [Serializable()]
    [System.Xml.Serialization.XmlRootAttribute("books", Namespace = "", IsNullable = false)]
    public class BookCollection
    {
        [XmlArray("books")]
        [XmlArrayItem("book", typeof(Book))]
        public Book[] Books { get; set; }
    }
} 

© Stack Overflow or respective owner

Related posts about c#

Related posts about .NET