行者
行者常至,为者常成
博客园
首页
博问
闪存
新随笔
联系
订阅
管理
随笔-22 文章-0 评论-25
一个读取扩展名为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文件生成的数据集中。
绿色通道:
好文要顶
关注我
收藏该文
与我联系
posted @ 2006-11-27 18:34
karoc
阅读(1136)
评论(9)
编辑
收藏
发表评论
592356
回复
引用
#1楼
2006-12-14 14:56
dsaf[未注册用户]
ConvertorData 是什么类型?
回复
引用
查看
#2楼
[
楼主
]
2006-12-14 14:58
karoc(卡卡)
是根据Xml架构生成的数据集
回复
引用
#3楼
2006-12-14 15:26
dsaf[未注册用户]
我水平太低了,搞不懂,我也想从xml资源文件中读取数据,可是资源文件中是字符串。我看到了你的例子我想把xml资源文件转成
System.IO.Stream sream
然后
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(sream);
行吗?
Assembly assembly = typeof(ConvertorProvider).Assembly ;
ConvertorProvider 是?我不能用啊
回复
引用
查看
#4楼
[
楼主
]
2006-12-14 15:30
karoc(卡卡)
可以,ConvertorProvider是该方法所在的类吧
回复
引用
#5楼
2006-12-14 16:17
dsaf[未注册用户]
读出来的sream总是null
回复
引用
查看
#6楼
[
楼主
]
2006-12-14 16:54
karoc(卡卡)
“TextConvertor.Convertor.xml”中TextConvertor是命名空间,Convertor.xml是文件名,用Reflector可以看到
回复
引用
#7楼
2006-12-14 17:13
dsaf[未注册用户]
呵呵。。。好了能读了。
也可以用
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(Resources.xmlFile);
Resources.xmlFile就是资源文件
回复
引用
#8楼
2006-12-14 17:14
dsaf[未注册用户]
谢谢!!!!!!!!!!
回复
引用
查看
#9楼
[
楼主
]
2006-12-14 17:18
karoc(卡卡)
不客气
注册用户登录后才能发表评论,请
登录
或
注册
,
返回博客园首页
。
首页
博问
闪存
新闻
园子
招聘
知识库
最新IT新闻
:
·
美国空军拟最多购买1.8万台iPad 2
·
伊朗封杀Gmail和Facebook等互联网服务
·
分析称专利之争让谷歌苹果两败俱伤
·
Android平台发现新型手机病毒Rootsmart
·
HTC首款Android4.0手机大曝光
»
更多新闻...
最新知识库文章
:
·
高级编程语言的发展历程
·
如何学习一门新的编程语言?
·
学习不同编程语言的重要性
·
为什么我喜欢富于表达性的编程语言
·
计算机专业的女生为什么要学编程
»
更多知识库文章...
China-pub 2011秋季教材巡展
China-Pub 计算机绝版图书按需印刷服务
公告
昵称:
karoc
园龄:
5年2个月
粉丝:
0
关注:
0
<
2006年11月
>
日
一
二
三
四
五
六
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
搜索
常用链接
我的随笔
我的评论
我的参与
最新评论
我的标签
我的标签
Web.config
(1)
KeyValue
(1)
修改
(1)
配置文件
(1)
MemberShipProvider
(1)
PersonalizationProvider
(1)
WebParts
(1)
AjaxTookit
(1)
ModulPopup
(1)
DocType
(1)
更多
随笔分类
Project开发(1)
(rss)
代码分享(12)
(rss)
软件分享(2)
(rss)
心得分享(8)
(rss)
随笔档案
2011年9月 (1)
2010年2月 (1)
2010年1月 (1)
2009年12月 (2)
2009年5月 (2)
2009年3月 (3)
2009年2月 (1)
2009年1月 (1)
2008年7月 (1)
2008年6月 (1)
2007年5月 (2)
2006年12月 (1)
2006年11月 (5)
最新评论
阅读排行榜
评论排行榜
推荐排行榜