2016-06-10 42 views
-2

我想在一個XML文檔中保存一個ID(整數)和一個字符串。我怎樣才能做到這一點與C#代碼?c#2保存爲xml的參數

我知道這對於一個對象,但我不知道該怎麼做了2

這裏我對一個對象代碼:

private void button2_Click(object sender, EventArgs e) 
{ 
    XDocument ReleasesXML; 

    if (File.Exists(id + ".xml")) 
    { 
     ReleasesXML = XDocument.Load(id + ".xml"); 
    } 
    else 
    { 
     File.Copy("SourcefileReleases.Xml", id + ".xml"); 
     ReleasesXML = XDocument.Load(id + ".xml"); 
    } 

我發現這種方式來管理這個問題

現在,我想這代碼:

Dictionary dict = new Dictionary(); 
    XElement elBookmark = new XElement("BookmarksLoad", 
     dict.Select(kv => new XElement(kv.Key, kv.Value))); 

    XElement Bookmarks = XElement.Parse ("<bookmarks><key>value</key></bookmarks>"); 
    Dictionary<string, int> dict2 = new Dictionary<string, int>(); 
    foreach (var el in Bookmarks.Elements()) 
    { 
     dict.Add(elBookmark.Name.LocalName, elBookmark.Value); 

    } 

問題是,我不能添加elBookmark.Name.Loc alName

+0

您的代碼不保存任何內容? –

+0

現在我試過這段代碼: –

+0

你新添加的代碼並沒有試圖保存任何東西。創建不適合您的XML的代碼在哪裏? –

回答

1

現在,如果我瞭解你,你希望在一個XML文件中保存一個整數和一個字符串,然後再讀回來。使用XmlSerializer可以非常輕鬆地完成此操作。

我已經創建了一個模型類:

public class ConfigElement 
{ 
    public int Id { get; set; } 
    public string Value { get; set; } 
} 

現在我能夠序列化和反序列化,像這樣:

class Program 
{ 
    static void Main(string[] args) 
    { 
     var config = new ConfigElement() { Id = 6, Value = "Hello World" }; 
     var serializer = new XmlSerializer(config.GetType()); 

     serializer.Serialize(File.CreateText("myXml.xml"), config); 
    } 
} 

這樣產生的XML類似於:

<?xml version="1.0" encoding="utf-8"?> 
<ConfigElement> 
    <Id>6</Id> 
    <Value>Hello World</Value> 
</ConfigElement> 

現在,如果你想desirialize這一點,只需撥打:

var serializer = new XmlSerializer(typeof(ConfigElement)); 
var config = serializer.Deserialize(File.OpenText("myXml.xml")) as ConfigElement;