今天重构代码时,想把如下xml文件嵌入集中程序,在运行时读取:
<?xml version="1.0"encoding="utf-8"?>
<转换器 xmlns=" http://tempuri.org/~vs24E.xsd ">
<转换器>
<名称>1</名称>
<类别>1</类别>
<描述>1</描述>
</转换器>
<转换器>
<名称>2</名称>
<类别>2</类别>
<描述>2</描述>
</转换器>
<转换器>
<名称>3</名称>
<类别>3</类别>
<描述>3</描述>
</转换器>
</转换器>
到处找了一番,都是关于读取.txt和.resx类型的嵌入资源的,后来灵光一现,试出了以下方法:
private static ConvertorData GetConvertorData()
{
程序集 assembly = typeof(ConvertorProvider).Assembly ;
System.IO.Stream 流 = assembly.GetManifestResourceStream("TextConvertor.Convertor.xml") ;
ConverterData 数据 = new ConverterData() ;
数据.ReadXml(流);
返回数据;
}
大概是先Assembly对象,然后获取流对象,以后就好办了,要不读到XmlDocument,要不读到根据xml文件生成的数据集中。
http://www.cnblogs.com/karoc/archive/2006/11/27/574215.html