Fdream's Blog
专注于WEB前端开发
Powered by Google
1 2

在Silverlight 1.1中,C#只能用XmlReader这样一个非常轻量级的东西来解析XML,因此稍有不慎就会出现很多非常奇怪的错误,在这里对XML的解析做一个简单的流程介绍吧。

在对流式XML的解析中,XmlReader对XML节点进行一些区分,这些节点的类型包括:

引用内容:

public enum XmlNodeType

{

None = 0,

Element = 1,

Attribute = 2,

Text = 3,

CDATA = 4,

EntityReference = 5,

Entity = 6,

ProcessingInstruction = 7,

Comment = 8,

Document = 9,

DocumentType = 10,

DocumentFragment = 11,

Notation = 12,

Whitespace = 13,

SignificantWhitespace = 14,

EndElement = 15,

EndEntity = 16,

XmlDeclaration = 17,

}

其中常用到的有Element、Attribite、Text、CDATA、EndElement等。其中Element类型的节点为“<item>”形式,EndElement的的节点为“</item>”形式,而Text类型则可以为一对标记之间的文本内容或者节点之间的空格、换行等......

本来以为Silverlight读XML那岂不是太方便了,没想到用Silverlight来读取XML中的节点原来是件非常令人痛苦的事情,尽管你用的是C#!因为Sivlerlight把WPF精简得太厉害,读XML只有XmlReader了……XmlReader是不支持XPath和XmlDocument的(这么好的东西都不要,莫非是因为Silverlight的体积问题?)

如果要用Silverlight读XML,建议看看这两篇文章:

1. Working with XML in Silverlight

2. howto使用http接收和发送简单的xml请求

有个建议,在读取每个节点的值之前最好先判断一下节点的类型(NodeType),否则很有可能出现一些不可解释的“灵异”现象……

这个是上个学期开学用Flash完成的,因为还有很多想法没有实现,用起来也十分不便,所以一直没有拿出来,现在趁提供天气预报RSS的机会顺便拿出来。目前可以提供全国范围内将近300个城市未来72小时的天气信息,数据来自新浪天气(与中央气象台同步)。这个还要新增的功能有:

1、定制城市。这个最重要,否则每次都要自己选,太不方便了。

2、使用缓存数据。这个也很重要,提高查询速度的关键。

3、快速搜索。这个也是为了方便。

下载地址:http://fdream.ys168.com,在Tool目录下,fwr.rar即是。

今弄了一下午,才搞定天气预报的RSS,暂时只能提供全国范围内34个省会城市72小时的天气预报信息。数据更新方式为固定时间段更新加不定期更新...

做课程设计的时候发现网上的资源挺丰富的,怎么我找个ATOM的规范都找不到(不能上国外网就是这么郁闷)!不得已再借兄弟的宽带用一会儿,找到了英文原版的ATOM规范。结合这个规范和网上现有的ATOM FEED自己也给blog写了一个ATOM FEED。

在网上好不容易找到几篇有提到ATOM的文章都说ATOM比RSS复杂,不过如果你不熟悉RSS可能会觉得两者都比较复杂,不过ATOM确实比RSS灵活一点。其他标签都好说,郁闷的是两者的时间格式不一样,RSS要求时间是RFC 822格式的:

引用内容:

Sat, 07 Sep 2002 00:00:01 GMT

ATOM的时间格式很奇怪(采用RFC3339标准),一般是这样的:

引用内容:

2005-07-10T12:29:29Z

中间必须要夹杂一个很奇怪的大写T字母(应该是很奇怪的夹杂着一个大写T字母),根据规范中的说明是用来分隔日期(date)和时间(time)的,而末尾的大写字母Z是用来表示时区(Time Zone),如果时区不是用数字表示的,就用大写的Z,以下几种格式都是合法的:

ASP处理XML文档
20 雪天 2006-1
Fdream 发表于 Ajax Web, 已被阅读 15474 次评论 0 条
关键词:ASP XML 源码 RSS

这个学期前期写的一段代码,本来是想自己做一个XNA(XML聚合)的,由于种种原因,做了一部分就终止了,这是其中处理XML文档的一部分。

引用内容:

'xml加载,其中 linkurl 为表示 XML 文档的 URL 的变量

Set http=Server.CreateObject("Microsoft.XMLHTTP")

http.Open "GET",linkurl,False

http.send

Set xmlDoc=Server.CreateObject("Microsoft.XMLDOM")

xmlDoc.Async=False

xmlDoc.ValidateOnParse=False

xmlDoc.Load(http.ResponseXML)

'xml结点设置

set root = xmlDoc.documentElement

'根据结点选取数据,兼容XML 1.0规范和 XML 2.0规范

set nodeLis = root.getElementsByTagName("item")

'对于XML文件中时间标签不同的兼容处理

简直是不可思议,微软竟然使用XML格式存储文件,这不就等于公开 OFFICE 的文件结构吗?前几天还看到金山的 WPS Office 2005 发布的好消息,全面模仿 Office ,并且全面兼容 Office 文件格式,可以相互读取,偶还为其狠很的高兴了几天,看来 WPS 的“全面兼容”的概念是彻底的死了!强者就是强者,随便一出手便能使对手受到致命伤害!

Flash留言本雏形!
16 晴天 2005-6
Fdream 发表于 Flash, 已被阅读 2263 次评论 0 条
关键词:Flash AS ASP XML

因为网费欠缺,断网了两天,又由于课比较多,两天没去交网费,在寝室里上不了网,就只好让 MM(Macromedia) 陪我玩了,在这段时间内,用"三剑客"做了一个 Flash留言本的雏形!

数据存储使用 Access, 脚本使用的是 ASP,动态生成 XML,然后由 Flash 来解析 XML,不过程序现在还有很多BUG, 只有慢慢修改了!

在这个flash里用的比较重要的命令是:

myXML.load();

loadVariablesNum();

tellTarget();

mc.attachMovie();

loadmovie();

mc.removeMovie();

mc.onRollOver();

mc.onRollOut();

mc.onRelease();

基本界面如下:

Flash&XML第一个练习成功
30 晴天 2005-5
Fdream 发表于 Flash, 已被阅读 12851 次评论 0 条
关键词:Flash AS XML

从偶的blog的rss读取数据,顺便练习了一下Flist组件,一直不太喜欢用组件的,呵呵~

rss代码(由asp生成)地址:blogrss2.asp

fla代码:

引用内容:

myList.setSize(350, 240);

myList.rowHeight = 24;

var myXML = new XML();

myXML.load("blogrss2.asp");

myXML.ignoreWhite = true;

myXML.onLoad = function(success) {

if (success) {

for (i=7; i<17; i++) {

myList.addItem({label:myXML.childNodes[0].childNodes[0].childNodes.childNodes[1].firstChild.nodeValue});

}

}

};

listenerObject = new Object();

……

1 2
Copyright © 2005-2008,Fdream All Rights Reserved
Processed in 2.3127072 second(s) , unknow queries
Powered by OWord V0.1, Even Not Alpha
(此博客程序为半成品,请勿索取,以免给您的心灵造成创伤^_^)
鄂ICP备05026031号