【发布时间】:2015-09-17 17:19:18
【问题描述】:
我有 XML,需要解析它并通过 LINQ 创建对象
<?xml version="1.0" encoding="UTF-8"?>
<Books>
<Book>
<ID> number </ID>
<DateCreated> date </DateCreated>
<Pages>
<Page>
<PageID> string </PageID>
<PageNumber> number </PageNumber>
</Page>
<!-- ... more Page nodes here if present ... -->
</Pages>
</Book>
<!-- ... more Book nodes here ... -->
</Books>
类:
public class BooksResponse
{
public Book[] Book_Items { get; set; }
}
public class Book
{
public int ID { get; set; }
public string DateCreated { get; set; }
public Page[] Pages { get; set; }
}
public class Page
{
public string PageID { get; set; }
public int PageNumber { get; set; }
}
和我的代码:
var booksResponse = xDocument
.Elements("Books")
.Select(x => new BooksResponse
{
Book_Items = x.Elements("Book")
.Select(c => new Book
{
DateCreated = (string)c.Element("DateCreated"),
ID = (int)c.Element("ID"),
Pages => c.Elements("Pages")
.Select(y => new Page
{
PageID = (string)y.Element("PageID"),
PageNumber = (int)y.Element("PageNumber"),
}).ToArray()
}).ToArray()
}).FirstOrDefault();
和附近的代码Pages => c.Elements("Pages")
错误:
初始化器成员声明器无效。
我做错了什么,如何解决?
非常感谢!
【问题讨论】:
-
也许你的意思是
Pages = c.Elements("Pages")...(注意=而不是=>)?
标签: c# asp.net xml linq xml-parsing