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

xml

今天重构代码时,想把如下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文件生成的数据集中。

时间: 2024-08-17 13:12:17

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

解决 IDEA 中src下xml等资源文件无法读取的问题

该问题的实质是,idea对classpath的规定. 在eclipse中,把资源文件放在src文件夹下,是可以找到的: 但是在idea中,直接把资源文件放在src文件夹下,如果不进行设置,是不能被找到的. 下面说说几种解决方法,网上说的都很混乱,我这里做一个总结:推荐方法4 1.将所有资源文件放在resources文件夹下 这样做很方便,比较容易想到,但是层次性就很差了,比如mybatis的映射配置文件mapper.xml,本来需要放在特定的包里面,与dao层,service层等层次为同一个层级

在.NET中读取嵌入和使用资源文件的方法_C#教程

Dotnet中嵌入资源(位图.图标或光标等)有两种方式,一是直接把资源文件加入到项目,作为嵌入资源,在代码中通过Assembly的GetManifestResourceStream方法获取资源的Stream.另一种方法是在项目中加入. resx资源文件,在资源文件中添加资源,由ResourceManager类统一管理其中的资源. 下面分别详述这两种方法 一.使用GetManifestResourceStream读取嵌入资源 1.加入资源文件 直接把要嵌入到程序集的资源文件加入到项目中,可以加在项

Android读取资源文件的方法

Android读取资源文件的方法 1.放入到资源文件夹里面,也就是所创建android工程的res下面. 我们可以在里面建立文件夹,放置我们要读取的文件. 例如:res里面建立目录raw,将要读取的文件abc.bin放入到该文件夹下,此时通过 openRawResource()方法即可读取.代码为 InputStream is = getResources().openRawResource(R.raw.abc); 只要获取InputStream,一切就好办了! 注意:res下面的目录名字是有讲

【java】获取解析资源文件的方法

关于资源文件的读取,有很多种方法,下面补充了多种方法 1.java.util.ResourceBundle 使用java自带的util包下的ResourceBundle类获取,使用方法最简单 //获取资源文件中键值对 ResourceBundle bundle = ResourceBundle.getBundle("资源文件的名字,不带后缀"); bundle.getString("键名"); 注意点:①资源文件直接放在项目的src下,也就是你项目的classpat

PHP读取CURL模拟登录时生成Cookie文件的方法_php技巧

本文实例讲述了PHP读取CURL模拟登录时生成Cookie文件的方法.分享给大家供大家参考.具体实现方法如下: 在使用PHP中的CURL模拟登录时会保存一个Cookie文件,例如下面的代码 复制代码 代码如下: $login_url = 'XXX';    $post_fields['email'] = 'XXXX';  $post_fields['password'] = 'XXXX';  $post_fields['origURL'] = 'XXX';  $post_fields['doma

javascript实现动态导入js与css等静态资源文件的方法_javascript技巧

本文实例讲述了javascript实现动态导入js与css等静态资源文件的方法.分享给大家供大家参考.具体实现方法如下: /** * 动态导入静态资源文件js/css */ var $import = function(){ return function(rId, res, callback){ if(res && 'string' == typeof res){ if(rId){ if($($('#' + rId), $('head')).length>0){ return; }

Activiti支持直接部署扩展名为bpmn的流程文件

在5.9及其之前的版本Activiti不支持直接部署"bpmn"为扩展名的流程,所以之前在这篇文章中讲解如何打包bar文件时要求把bpmn重名为bpmn20.xml再打包. 不是了bpmn结尾的流程定义文件之后启动流程时会提示对应的流程不存在,这是因为Activiti未能识别bpmn扩展名的文件,它不知道如何处理当然也就没有作为流程定义存储到数据,最后你也就不能启动这个流程. 2.黎明前的迷惘 所以解决这个问题的办法就是在部署时重命名资源文件,如下典型的代码: ? 1 2 3 Stri

asp.net 把数据保存到xml 与txt文件的方法

 XML是一种数据描述语言,结构比较简单,不是专业人员也可以看得懂语言所描述的内容.XML 代表Extensible Markup Language(eXtensible Markup Language的缩写,意为可扩展的标记语言).XML是一套定义语义标记的规则,这些标记将文档分成许多部件并对这些部件加以标识.它也是元标记语言,即定义了用于定义其他与特定领域有关的.语义的.结构化的标记语言的句法语言. 保存XML数据的方法: 在ASP.NET 2.0中,使用"XmlDocument"

在Applet中引用jar中的资源文件的方法

如果想要做一个比较漂亮的Applet让人家使用,一定会加上很多资源,比如图片或者声音文件什么的. sun提供了一个有用的工具,jar.这个工具可以把这些资源文件合在一个文件里,避免频繁的http request, 而且下载的jar文件可以被缓存,很爽吧. 但是如何正确引用jar中的资源呢? 比如我们打算显示一个图片按钮,图片相对路径为./img/logo.gif,你可以自己随便找一个gif图片. 让我们来看看我们想当然的做法. import java.awt.*; import java.awt