思索的秋天
世界上最重要的不是我们身在何处,而是我们在朝着什么方向走
博客园
社区
首页
新随笔
联系
管理
订阅
随笔- 44 文章- 4 评论- 86
远程序列化xml文件(可用于自动更新程序中版本号的比较,更新文件的读取等)
假设存在如下xml文件:位置放在指定服务器地址上(在这里为
_updatePath
),我要通过远程读取该文件以得到一系列的信息,如版本号,
更新文件等。
<?xml version="1.0" encoding="utf-8" ?>
<Update>
<NowVersion>1.0.0.0</NowVersion>
<Time>2008-08-01</Time>
<UpdateFileList>
<File Name="test.dll" Message="修正了××××××××××小bug"></File>
<File Name="test.pdb" Message="MiddleDataTier.dll运行必须文件"></File>
</UpdateFileList>
</Update>
下面是代码:
第一步:获取指定路径的xml字符串序列;
HttpWebRequest myRequest
=
(HttpWebRequest)WebRequest.Create(ClientApplicationInfo.XMLFile);
HttpWebResponse myResponse
=
(HttpWebResponse)myRequest.GetResponse();
Stream ReceiveStream
=
myResponse.GetResponseStream();
this
.OnServerConnectedSucceed();
LogManager.TraceWrite(
"
[AutoUpdater.IsServerManifestDownloaded]
"
,
"
RESX_MESSAGE_ServerConnSucceed
"
);
Encoding encode
=
System.Text.Encoding.GetEncoding(
"
utf-8
"
);
StreamReader sr
=
new
StreamReader(ReceiveStream, encode);
Char[] read
=
new
Char[
256
];
string
strResult
=
""
;
int
count
=
sr.Read(read,
0
,
256
);
while
(count
>
0
)
{
String str
=
new
String(read,
0
, count);
strResult
+=
str;
count
=
sr.Read(read,
0
,
256
);
}
第二步:对该字符串序列进行解析,得到一个xmlDocemet对象,代码如下:(注:上面代码中的字符串序列为strResult)
XmlDocument ServerDoc
=
new
XmlDocument();
ServerDoc.LoadXml(strResult);
string
_latestVersion
=
ServerDoc.SelectSingleNode(
@"
descendant::NowVersion
"
).InnerText;
第三步:我们得到了我们想要的值。如版本号,然后我们就可以进行读写了或者相互比较了。
注:个人觉得xml文件在传输数据和保存数据中有很大的优势,尤其是在作为配置文件中作用尤其明显,我们没有必要死缠烂打去读取注册表,
读写ini文件,或者连接数据库,如果能用xml文件解决的话,也许世界会豁然开朗。呵呵,这个只是本人的一些拙见,xml的重要性还是不言自明的吧。
欢迎各位指教。
posted @ 2007-11-07 14:37
寒蝉
阅读(211)
评论(0)
编辑
收藏
所属分类:
.Net开发
社区
新闻
新用户注册
刷新评论列表
标题
姓名
主页
Email
(只有博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
该文被作者在 2007-11-07 14:49 编辑过
相关文章:
终于干掉了默认的输入法, 关于ctfmon.exe文件
C#下如何实现服务器+客户端的聊天程序
博客园程序源代码下载
关于:以前的某个程序安装已在安装计算机上创建挂起的文件操作 解决办法
(原创)datagrid数据导出到excel文件给客户端下载的几种方法
卡巴斯基Kaspersky6.0正式版官方下载授权文件key下载
相关链接:
所属分类的其他文章:
将文本文件转换为DataSet的两种方式
CLR Via C#系列学习笔记之委托
C#读书笔记(框架设计第二版:CLR VIA C#)—— 一些生成、打包、部署和管理应用程序的核心概念
远程序列化xml文件(可用于自动更新程序中版本号的比较,更新文件的读取等)
[转]C#导出到EXCEL
C# 异步调用中使用回调方法
C# 异步调用机制的理解(一)
[转载][翻译]使用asp.net 2.0中的SqlBulkCopy类批量复制数据
C#操纵XML文档(主要是应用程序的配置文件)
listview按列自动排序的一点补充
最新IT新闻:
消息称MySQL创始人已向Sun提交辞呈
谷歌Chrome浏览器即将更换LOGO颜色?
淘宝网合并阿里妈妈 专家称阿里巴巴或有新战略
微软研究院发布 AutoCollage - 整理并融合照片
2008年9月5日科技博客精选
博客园新闻频道
博客园首页
社区
<
2007年11月
>
日
一
二
三
四
五
六
28
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
与我联系
发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
最新评论
我的标签
留言簿
给我留言
查看留言
我参加的小组
每日一句英语
程序员音乐空间
GIS.DeveloperUnion
我参与的团队
GIS.DeveloperUnion(开发者联盟)(0/757)
开源GIS学习(0/243)
随笔分类
.Net开发(12)
(rss)
GIS原理与应用(6)
(rss)
SmartClient(智能客户端)系列学习笔记(4)
(rss)
SuperMap系列(4)
(rss)
软件工程原理与实践(2)
(rss)
时事\书评\其他(5)
(rss)
移动开发(嵌入式GIS应用)(7)
(rss)
随笔档案
2008年8月 (3)
2008年7月 (3)
2008年6月 (3)
2008年4月 (2)
2008年3月 (4)
2008年2月 (1)
2007年12月 (4)
2007年11月 (6)
2007年10月 (1)
2007年9月 (5)
2007年8月 (3)
2007年7月 (3)
2007年5月 (1)
2007年4月 (3)
2007年3月 (2)
收藏夹
.net Category(1)
(rss)
C# Category(8)
(rss)
GIS Category(1)
(rss)
Other
(rss)
博客园链接
http://flyingfish.cnblogs.com/
flyingfish
http://jeffreyzhao.cnblogs.com/
老赵
http://www.cnblogs.com/3echo
政哥
http://yurenw.cnblogs.com/
David(吴帆)
我的C++博客
http://www.cppblog.com/jsjkandy
学习资源
(MSDN 课程安排)
codeguru(No.1 Developer site)
codeproject(Your Development Resource)
msdn.microsoft(WM Developer Center)
最新评论
1. re: 上路了
@可心
谢谢。 (寒蝉)
2. re: 上路了
祝一路走得顺利,走得成功。 (可心)
3. re: 解决EVC连接WINCE时“failed to connect to device”的错误
3ks诸位! (q)
4. re: gis坐标系相关概念(一)
挺有用的,我转到我博客里去了哈。
谢谢楼主了! (ddddd)
5. re: GPRS开发系列文章之入门篇
关注ING... (命不过如此)
阅读排行榜
1. 各种坐标系的定义(1975)
2. GPRS开发系列文章之入门篇(1946)
3. GPRS开发系列文章之进阶篇(1852)
4. GPRS开发系列文章之实战篇(1733)
5. 解决在安装EVC4.0+sp4时提示“virtual PC/Windows CE Emulator会造成windows不稳定,windows使这些驱动程序无法加载”的问题(1611)
评论排行榜
1. GPRS开发系列文章之入门篇(17)
2. C# 实现复杂对象的序列化与反序列化(10)
3. 上路了(7)
4. 滕王阁序——王 勃 (注:我至爱的一篇文章)(7)
5. GPRS开发系列文章之进阶篇(5)