Я не могу поверить, насколько невероятно сложным это было ...
У меня есть следующий XML ...
<Library xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://mynamespace.com/books">
<Rows>
<Row>
<Author><Name>Stephen King</Name></Author>
</Row>
</Rows>
</Library>
Я бы хотел, чтобы объект десериализованного C # читался как... Library.Books[0].Author
Я пробовал миллион различных комбинаций маркировки атрибутов XML для десериализации, например ...
[XmlRootAttribute("Library", Namespace = "http://mynamespace.com/books", IsNullable = false)]
public class Library
{
[XmlElement("Rows")]
public List<Book> Books { get; set; }
}
[XmlRoot("Row")]
public class Book
{
public Author Author { get; set; }
}
[XmlRoot("Author")]
public class Author
{
public string Name { get; set; }
}
... и постоянно получаю "Автор"объект как ноль, когда я пытаюсь десериализовать.Это почти успешно ... Я получаю ArrayList с одним элементом Book в свойстве Books.Но за свою жизнь я не могу получить Автор.
Любой совет / помощь будет принята с благодарностью!