如何从 XML 文档中提取数据
how to extract data from an XML document
我有两个 classes,分别称为 Movie 和 Movie Type,我正在尝试根据给定的示例 xml.
创建 classes 的对象
public class Movie
{
public string title;
public string rating; //can always convert.toin32 later
}
public class Genre
{
int id;
string genreType;
}
我想根据以下 XML 创建 class 的对象,best/fastest 方法是什么?
<movie>
<title> se7en </title>
<genre> thriller</genre>
<rating> 18 </rating>
</movie>
<movie>
<title> zodiac </title>
<genre> thriller</genre>
<rating> 18 </rating>
</movie>
试试这个
更好的是 LINQ
到 XML
XDocument document = XDocument.Load("MyDoc.xml");
List<Movie> statusList = (from movies in document.Descendants("Movie")
select new Movie()
{
title = movies.Element("title").Value,
rating = movies.Element("rating").Value,
genre = movies.Element("genre").Value
}).ToList();
或这个
var xml = @"<movie/>";
var serializer = new XmlSerializer(typeof(Movie));
using (var reader = new StringReader(xml))
{
var movie = (Movie)serializer.Deserialize(reader);
}
我有两个 classes,分别称为 Movie 和 Movie Type,我正在尝试根据给定的示例 xml.
创建 classes 的对象public class Movie
{
public string title;
public string rating; //can always convert.toin32 later
}
public class Genre
{
int id;
string genreType;
}
我想根据以下 XML 创建 class 的对象,best/fastest 方法是什么?
<movie>
<title> se7en </title>
<genre> thriller</genre>
<rating> 18 </rating>
</movie>
<movie>
<title> zodiac </title>
<genre> thriller</genre>
<rating> 18 </rating>
</movie>
试试这个
更好的是 LINQ
到 XML
XDocument document = XDocument.Load("MyDoc.xml");
List<Movie> statusList = (from movies in document.Descendants("Movie")
select new Movie()
{
title = movies.Element("title").Value,
rating = movies.Element("rating").Value,
genre = movies.Element("genre").Value
}).ToList();
或这个
var xml = @"<movie/>";
var serializer = new XmlSerializer(typeof(Movie));
using (var reader = new StringReader(xml))
{
var movie = (Movie)serializer.Deserialize(reader);
}