1
对象我有这个类:如何存储和检索xml文档
public class MyMenu
{
public string Name { get; set; }
public string Type { get; set; }
}
该类我想在一个动态菜单使用它,我不希望自己的数据存储在数据库中。
我想将其数据存储在Xml
文件中。
到现在我有这个数据保存:
string path = Server.MapPath("~/Content/Files");
XmlSerializer serial = new XmlSerializer(model.GetType());
System.IO.StreamWriter writer = new System.IO.StreamWriter(path + "\\ribbonmenu");
serial.Serialize(writer, model);
writer.Close();
而这种获得数据:
string path = Server.MapPath("~/Content/Files");
XmlSerializer serial = new XmlSerializer(typeof(RibbonMenu));
System.IO.StreamReader reader = new System.IO.StreamReader(path + "\\ribbonmenu");
RibbonMenu menu =(RibbonMenu) serial.Deserialize(reader);
reader.Close();
我所正在为一个对象来保存和获取。 我需要保存多个对象,并获取对象的集合,是这样的:
IEnumerable<MyMenu> model=(IEnumerable<MyMenu>) serial.Deserialize(reader);
有人可以给我一个解决方案吗?谢谢。
编辑:生成的XML与我的代码内容是:
<?xml version="1.0" encoding="utf-8"?>
<MyMenu xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Id>0</Id>
<Menu>Home</Menu>
<Type>Button</Type>
</MyMenu>
你看过[this](http://stackoverflow.com/questions/1212742/xml-serialize-generic-list-of-serializable-objects)和[that](http://stackoverflow.com/问题/ 178899 /序列化 - 列出-的类到XML)? – Kilazur
很难说没有看到什么XML看起来像 –
1.我理解在序列化代码模型.GetType() - >模型是一个单一的MyMenu项目,所以你必须在这里有一个集合,否则它会自然地反序列化为一个单一的项目。 2.您是否手动编写此XML?打开标签与关闭标签不匹配。 (菜单 - >动作,类型 - >控制器) –