我的应用中需要一个XML文件,因此我将其添加到Files
的{{1}}部分,它出现在Resources文件夹中,其名称为AppResources.resx
myFile.xml
这只返回一个字符串值,这不是我想要的。
var myFile = MyApp.Resources.AppResources.myFile;
需要一个流到现有文件来反序列化它,所以我不知道如何处理这个字符串?
我如何拥有该文件的xml变量?感谢
答案 0 :(得分:1)
使用StringReader:
var myFile = MyApp.Resources.AppResources.myFile;
StringReader sr = new StringReader(myFile);
var xmlSerializer = new XmlSerializer(typeof(Foo));
var classInstance = xmlSerializer.Deserialize(sr);
答案 1 :(得分: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>