can';t将xml文件反序列化为模型
我有一个表示电影及其类别的XML文件。每个类别都有一个电影列表。我所要做的就是反序列化这个文件,并将其传递到一个模型中以供使用。我使用了类似线程中描述的XMLRoot和XMLElement标记,但没有用 调试器将停止运行can';t将xml文件反序列化为模型,xml,asp.net-mvc-4,model,Xml,Asp.net Mvc 4,Model,我有一个表示电影及其类别的XML文件。每个类别都有一个电影列表。我所要做的就是反序列化这个文件,并将其传递到一个模型中以供使用。我使用了类似线程中描述的XMLRoot和XMLElement标记,但没有用 调试器将停止运行 XmlSerializer serializer = new XmlSerializer(typeof(MovieList)); 使用“时,XML文档(2,2)中出现错误” 我还在学习。我的猜测是XML属性标记放错了位置 XML文件 <?xml version="1.
XmlSerializer serializer = new XmlSerializer(typeof(MovieList));
使用“时,XML文档(2,2)
中出现错误”
我还在学习。我的猜测是XML属性标记放错了位置
XML文件
<?xml version="1.0" ?>
<categories xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<category>
<id>1</id>
<description>action</description>
<movies>
<movie>
<id>1</id>
<name>The Dark Knight</name>
</movie>
<movie>
<id>2</id>
<name>Iron Man</name>
</movie>
</movies>
</category>
<category>
<id>2</id>
<description>comedy</description>
<movies>
<movie>
<id>1</id>
<name>Harold and Kumar</name>
</movie>
<movie>
<id>2</id>
<name>Knocked Up</name>
</movie>
</movies>
</category>
</categories>
您可以试试这个:XmlSerializer serializer=newxmlserializer(typeof(List));它实际上给了我同样的错误
XmlRoot("categories")]
public class MovieList
{
[XmlElement("category")]
public int id { get; set; }
public string description { get; set; }
public List<Movie> movies { get; set; }
}
public class Movie
{
public int id { get; set; }
public string name { get; set; }
}
public static MovieList Deserialize()
{
using (TextReader reader = new StreamReader("c:\\movies.xml"))
{
XmlSerializer serializer = new XmlSerializer(typeof(MovieList));
return (MovieList)serializer.Deserialize(reader);
}
}