现在的位置: 首页 > 综合 > 正文

一个读取扩展名为xml的资源文件的方法

2012年05月12日 ⁄ 综合 ⁄ 共 953字 ⁄ 字号 评论关闭
今天重构代码时,想把如下xml文件嵌入程序集中,在运行时读取:

<?xml version="1.0" encoding="utf-8"?>
<Convertors xmlns="http://tempuri.org/~vs24E.xsd">
    
<Convertor>
        
<Name>1</Name>
        
<Category>1</Category>
        
<Description>1</Description>
    
</Convertor>
    
<Convertor>
        
<Name>2</Name>
        
<Category>2</Category>
        
<Description>2</Description>
    
</Convertor>
    
<Convertor>
        
<Name>3</Name>
        
<Category>3</Category>
        
<Description>3</Description>
    
</Convertor>
</Convertors>

到处找了一番,都是关于读取.txt和.resx类型的嵌入资源的,后来灵光一现,试出以下方法:

private static ConvertorData GetConvertorData()
        
{
            Assembly assembly 
= typeof(ConvertorProvider).Assembly ;
            System.IO.Stream stream 
= assembly.GetManifestResourceStream("TextConvertor.Convertor.xml") ;

            ConvertorData data 
= new ConvertorData() ;
            data.ReadXml(stream) ;
            
return data ;
        }

大概是先得到Assembly对象,然后得到流对象,以后就好办了,要不读到XmlDocument,要不读到根据xml文件生成的数据集中。

抱歉!评论已关闭.