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?打開標籤與關閉標籤不匹配。 (菜單 - >動作,類型 - >控制器) –