L*******r 发帖数: 1011 | 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是 | p*******p 发帖数: 13670 | 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调入。 : 三种方法在我们的程序中都可以使用。因为我们的数据非常少。
| L*******r 发帖数: 1011 | 3 如果数据格式比较统一,我想ADO方法是不错的。
其余的话,SAX.
DOM太耗内存,而且慢。
XMLNodeReader/....
用它
。
很经
有使
【在 p*******p 的大作中提到】 : 如果我需要每天在网上抓取大量的数据,用哪个方法比较号?
| p*******p 发帖数: 13670 | 4 什么意思? 数据都是一些数值而已, 看来ado是一个办法吧,呵呵
【在 L*******r 的大作中提到】 : 如果数据格式比较统一,我想ADO方法是不错的。 : 其余的话,SAX. : DOM太耗内存,而且慢。 : : XMLNodeReader/.... : 用它 : 。 : 很经 : 有使
| L*******r 发帖数: 1011 | 5 数据格式比较统一,是说如果数据看来都像表格似的。结构有重复什么的。
这是我自己的感觉,如果你熟悉数据库的话,你就明白我在说什么。
dataset里面含有表,关系,constraint,整个一个数据库结构翻版。
我主要不想看到有上百个表,每个表里就是一个记录这种情况。不过如果这样的话,那个
XML文件也就够不结构化的了。:)
恩,我现在觉得dataset这个设计不错,比较推荐。
当然,SAX是经典方法,还是应该学会的。赫赫
【在 p*******p 的大作中提到】 : 什么意思? 数据都是一些数值而已, 看来ado是一个办法吧,呵呵
| L*******r 发帖数: 1011 | 6 恩,我想到个例子了。
就说这个weather predict程序吧。
在一定时间
不同的zip code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill.
但是很多zipe code 的天气数据就是个典型的表格了。这就是典型的ADO应用了。
如果是不同时间同一地点的天气数据也是很好的ADO应用。这可以用于天气发展趋势分析
。
个
【在 L*******r 的大作中提到】 : 数据格式比较统一,是说如果数据看来都像表格似的。结构有重复什么的。 : 这是我自己的感觉,如果你熟悉数据库的话,你就明白我在说什么。 : dataset里面含有表,关系,constraint,整个一个数据库结构翻版。 : 我主要不想看到有上百个表,每个表里就是一个记录这种情况。不过如果这样的话,那个 : XML文件也就够不结构化的了。:) : 恩,我现在觉得dataset这个设计不错,比较推荐。 : 当然,SAX是经典方法,还是应该学会的。赫赫
| p*******p 发帖数: 13670 | 7 明白了,太谢谢了,我想ado处理负责的,sax处理简单的,这样结合用比较好,对不对?^_^
【在 L*******r 的大作中提到】 : 恩,我想到个例子了。 : 就说这个weather predict程序吧。 : 在一定时间 : 不同的zip code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill. : 但是很多zipe code 的天气数据就是个典型的表格了。这就是典型的ADO应用了。 : 如果是不同时间同一地点的天气数据也是很好的ADO应用。这可以用于天气发展趋势分析 : 。 : : 个
| L*******r 发帖数: 1011 | 8 我没研究过ADO.Net地实现,我担心它内部使用的DOM.所以你要小心你的内存。
当速度或者内存出问题的时候,你还是要求助于SAX的。
code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill.
分析
,那
【在 p*******p 的大作中提到】 : 明白了,太谢谢了,我想ado处理负责的,sax处理简单的,这样结合用比较好,对不对?^_^
| p*******p 发帖数: 13670 | 9 酱紫啊,看来先用sax吧,ado等你研究好了我再用,^_^
【在 L*******r 的大作中提到】 : 我没研究过ADO.Net地实现,我担心它内部使用的DOM.所以你要小心你的内存。 : 当速度或者内存出问题的时候,你还是要求助于SAX的。 : : code的天气数据就好像一条记录。如果只关心这个信息,ADO有点overkill. : 分析 : ,那
|
|