首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以最有效的方式读取远程XML文件?

如何以最有效的方式读取远程XML文件?
EN

Stack Overflow用户
提问于 2008-10-09 14:43:19
回答 3查看 3.1K关注 0票数 2

我正在开发一个小应用程序,检索XML文件,位于远程服务器(http://xxxx.com/myfile.xml)这个文件是相对较大的,它包含了我的应用程序需要使用的其他信息的地理位置的大列表。因此,我远程读取了这个文件一次,并将其插入到一个小SqlCE文件(database.sdf)中

因此,如果我需要访问geolocation #1,我将只对这个数据库执行一条SELECT语句,而不是每次都加载整个XML文件。

但是我想知道有没有可能在不使用.sdf文件的情况下做到这一点?

什么是最有效的方法(最快)?

在本地保存一次大的XML文件,并在每次启动应用程序将其加载到数据集中时加载它?这将使应用程序在每次加载时都会有点长

在本地保存一次大的XML文件,然后逐个读取节点以查找地理位置#1?

或者,是否可以直接从远程xml (http://xxxx.com/myfile.xml)检索geolocation #1,而无需读取整个文件?

你还有其他的想法吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2008-10-09 15:50:31

Re protobuf-net,目前没有针对CF版本的单独下载,但在CF2.0和CF3.5的源代码中都有一个csproj。

为了澄清您的问题,实际上protobuf-net (目前)甚至没有使用.proto文件;.proto文件只是描述数据是什么- protobuf-net只是查看您的类并从中推断出模式(类似于XmlSerializer / DataContractSerializer等的工作方式)。所以没有.proto --只有看起来像你的数据的类。

但是,在开始创建看起来像您的数据的类之前,我想知道您是否不能简单地使用GZIP或PKZIP来压缩数据,并“按原样”传输数据。Xml通常可以很好地压缩。当然,为CF找到一个GZIP (etc)实现就成了问题。

当然,如果你想在这里使用protobuf-net,如果你遇到问题,我很乐意建议etc……

另一种选择是让您的CF应用程序调用具有本地数据的web服务……

票数 1
EN

Stack Overflow用户

发布于 2008-10-09 14:54:24

加载大的XML文件,将其转换为适当的不同数据结构,并以有效的格式将其保存到文件中。(XML实际上效率不是很高。)

我相信Marc Gravell's Protocol Buffers实现可以在紧凑的框架上工作……

(没有一个protobuf实现被认为是可以投入生产的,但有几个已经接近了。我们需要测试人员!)

票数 2
EN

Stack Overflow用户

发布于 2008-10-09 17:15:58

为什么要将整个文件下载到CE设备上呢?这是一种带宽浪费,而且无论存储格式如何,在嵌入式处理器上进行查找肯定会比在服务器上进行查找慢得多。你应该有一个服务(Web,WCF或其他任何东西),允许你向它请求你想要的单一地理位置。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/187576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档