avatar
using weather XML feed in C## DotNet - 窗口里的风景
L*r
1
这里介绍XML handling in C#.
namespace: System.Xml
1. SAX way: In C#, 相关类是: XmlTextReader/XmlTextWriter, XMLNodeReader/....
如果你只要读入一次,SAX是最有效率的选择。
2. DOM way: In C#, 相关类是: XmlDocument, XmlNode, ...
如果你的文件或者数据不大,内存能装下,并且你需要多次读取数据,你可以使用它

DOM的好处是结构直观。
3. 我们也可以直接用ADO.Net中的DataSet将XML调入。
三种方法在我们的程序中都可以使用。因为我们的数据非常少。
如果使用1,visitor
pattern是典型做法。用swith-case如果你不在乎你的结构(ad-hoc)。
如果使用2,If you want, 你可以使用Xpath来辅助.而且你有一个很直观的DOM结构。
如果使用3, 你今后可以轻易地将数据装入数据库。
1, 2对于Java和C++ programmers已经没有什么新意。
3 的 dataset是
avatar
p*p
2
如果我需要每天在网上抓取大量的数据,用哪个方法比较号?

【在 L*******r 的大作中提到】
: 这里介绍XML handling in C#.
: namespace: System.Xml
: 1. SAX way: In C#, 相关类是: XmlTextReader/XmlTextWriter, XMLNodeReader/....
: 如果你只要读入一次,SAX是最有效率的选择。
: 2. DOM way: In C#, 相关类是: XmlDocument, XmlNode, ...
: 如果你的文件或者数据不大,内存能装下,并且你需要多次读取数据,你可以使用它
: 。
: DOM的好处是结构直观。
: 3. 我们也可以直接用ADO.Net中的DataSet将XML调入。
: 三种方法在我们的程序中都可以使用。因为我们的数据非常少。

avatar
L*r
3
如果数据格式比较统一,我想ADO方法是不错的。
其余的话,SAX.
DOM太耗内存,而且慢。

XMLNodeReader/....
用它

很经
有使

【在 p*******p 的大作中提到】
: 如果我需要每天在网上抓取大量的数据,用哪个方法比较号?
avatar
p*p
4
什么意思? 数据都是一些数值而已, 看来ado是一个办法吧,呵呵

【在 L*******r 的大作中提到】
: 如果数据格式比较统一,我想ADO方法是不错的。
: 其余的话,SAX.
: DOM太耗内存,而且慢。
:
: XMLNodeReader/....
: 用它
: 。
: 很经
: 有使

avatar
L*r
5
数据格式比较统一,是说如果数据看来都像表格似的。结构有重复什么的。
这是我自己的感觉,如果你熟悉数据库的话,你就明白我在说什么。
dataset里面含有表,关系,constraint,整个一个数据库结构翻版。
我主要不想看到有上百个表,每个表里就是一个记录这种情况。不过如果这样的话,那个
XML文件也就够不结构化的了。:)
恩,我现在觉得dataset这个设计不错,比较推荐。
当然,SAX是经典方法,还是应该学会的。赫赫

【在 p*******p 的大作中提到】
: 什么意思? 数据都是一些数值而已, 看来ado是一个办法吧,呵呵
avatar
L*r
6
恩,我想到个例子了。
就说这个weather predict程序吧。
在一定时间
不同的zip code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill.
但是很多zipe code 的天气数据就是个典型的表格了。这就是典型的ADO应用了。
如果是不同时间同一地点的天气数据也是很好的ADO应用。这可以用于天气发展趋势分析




【在 L*******r 的大作中提到】
: 数据格式比较统一,是说如果数据看来都像表格似的。结构有重复什么的。
: 这是我自己的感觉,如果你熟悉数据库的话,你就明白我在说什么。
: dataset里面含有表,关系,constraint,整个一个数据库结构翻版。
: 我主要不想看到有上百个表,每个表里就是一个记录这种情况。不过如果这样的话,那个
: XML文件也就够不结构化的了。:)
: 恩,我现在觉得dataset这个设计不错,比较推荐。
: 当然,SAX是经典方法,还是应该学会的。赫赫

avatar
p*p
7
明白了,太谢谢了,我想ado处理负责的,sax处理简单的,这样结合用比较好,对不对?^_^

【在 L*******r 的大作中提到】
: 恩,我想到个例子了。
: 就说这个weather predict程序吧。
: 在一定时间
: 不同的zip code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill.
: 但是很多zipe code 的天气数据就是个典型的表格了。这就是典型的ADO应用了。
: 如果是不同时间同一地点的天气数据也是很好的ADO应用。这可以用于天气发展趋势分析
: 。
:
: 个

avatar
L*r
8
我没研究过ADO.Net地实现,我担心它内部使用的DOM.所以你要小心你的内存。
当速度或者内存出问题的时候,你还是要求助于SAX的。

code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill.
分析
,那

【在 p*******p 的大作中提到】
: 明白了,太谢谢了,我想ado处理负责的,sax处理简单的,这样结合用比较好,对不对?^_^
avatar
p*p
9
酱紫啊,看来先用sax吧,ado等你研究好了我再用,^_^

【在 L*******r 的大作中提到】
: 我没研究过ADO.Net地实现,我担心它内部使用的DOM.所以你要小心你的内存。
: 当速度或者内存出问题的时候,你还是要求助于SAX的。
:
: code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill.
: 分析
: ,那

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。