2013-06-26 23 views
0

我需要在我的應用程序的XML文件,所以我把它添加到AppResources.resxFiles一部分,它出現在資源文件夾的名稱myFile.xml如何在我的應用程序的XML文件?

var myFile = MyApp.Resources.AppResources.myFile; 

這只是返回一個字符串值,這不是我想。

XmlSerializer需要一個流的現有文件反序列化,所以我不知道這個字符串怎麼辦呢?

我怎麼能有該文件的XML變量?謝謝

回答

1

使用StringReader行追加一句:

 var myFile = MyApp.Resources.AppResources.myFile; 

     StringReader sr = new StringReader(myFile); 
     var xmlSerializer = new XmlSerializer(typeof(Foo)); 
     var classInstance = xmlSerializer.Deserialize(sr); 
+0

感謝吉姆,該工作 – user2490629

0

如果我正確地理解了你,你可以使用MapPath來解析文件路徑並直接使用它來打開一個appender並序列化你的對象(在這種情況下,我使用一個帶有單個屬性Name的示例類Foo ) 那裏。讓我知道,如果我錯了,在瞭解你的需求。

using(var stream = new FileStream("test.txt", FileMode.Append)) 
      { 
       var serializer = new XmlSerializer(typeof (Foo)); 

       var @object = new Foo 
        { 
         Name = "Bar" 
        }; 

       serializer.Serialize(stream, @object); 
      } 

這會沿着

<Foo> 
    <Name>Bar</Name> 
</Foo> 
相關問題