我的应用程序中需要一个 XML 文件,因此我将它添加到了Files
其中的一部分,AppResources.resx
它以其名称出现在 Resources 文件夹中myFile.xml
var myFile = MyApp.Resources.AppResources.myFile;
这只是返回一个字符串值,这不是我想要的。
XmlSerializer
需要一个流到现有文件来反序列化它,所以我不知道如何处理这个字符串?
我怎样才能拥有该文件的 xml 变量?谢谢
我的应用程序中需要一个 XML 文件,因此我将它添加到了Files
其中的一部分,AppResources.resx
它以其名称出现在 Resources 文件夹中myFile.xml
var myFile = MyApp.Resources.AppResources.myFile;
这只是返回一个字符串值,这不是我想要的。
XmlSerializer
需要一个流到现有文件来反序列化它,所以我不知道如何处理这个字符串?
我怎样才能拥有该文件的 xml 变量?谢谢
使用StringReader:
var myFile = MyApp.Resources.AppResources.myFile;
StringReader sr = new StringReader(myFile);
var xmlSerializer = new XmlSerializer(typeof(Foo));
var classInstance = xmlSerializer.Deserialize(sr);
如果我理解正确,您可以使用 MapPath 来解析文件路径并直接使用它来打开附加程序并序列化您的对象(在这种情况下,我使用具有单个属性名称的示例类 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>