不KML,但这里有鉴于这两个类(含属性)使用的System.Xml.Serialization
的例子和初始化:
[XmlRoot("BookList")]
public class BookList
{
[XmlElement("BookData")]
public List<Book> Books = new List<Book>();
}
public class Book
{
[XmlElement("Title")]
public string Title { get; set; }
[XmlAttribute("isbn")]
public string ISBN { get; set; }
}
var bookList = new BookList
{
Books = { new Book { Title = "Once in a lifetime", ISBN = "135468" } }
};
您可以序列化成XML,像这样:
var serializer = new XmlSerializer(typeof(BookList));
using (var writer = new StreamWriter("YourFileNameHere"))
{
serializer.Serialize(writer, bookList);
}
等效的LINQ to XML配置将看起来像这样(未测试)
XElement bookXML =
new XElement("BookList",
from book in bookList.Books
select new XElement("BookData",
new XElement("Title", book.Title),
new XAttribute("isbn", book.ISBN)
)
);
结论,两者都比使用XmlDocument更清洁,XmlSerializer更短,Linq to XML给你更大的灵活性(XmlSerializer在类结构与xml结构的差异方面相当“僵化”)。
问问关于linq的问题,这个答案并没有说明如何使用XmlSerializer类。 – Benjol 2009-04-27 11:49:40