我正在用C#编写一个GIS客户端工具,以从服务器中检索基于GML的XML模式(下面的示例)中的"功能".提取物限制为100,000个功能.
我猜测最大的extract.xml可能会增加大约150兆字节,所以很明显DOM解析器已经出来我一直试图在XmlSerializer和XSD.EXE生成的绑定之间做出决定--OR-- XmlReader和手工制作的对象图.
或者也许有一种更好的方式我尚未考虑过?像XLINQ,或????
请任何人指导我吗?特别是关于任何给定方法的存储效率.如果不是,我将不得不"原型化"两种解决方案,并将它们并排分析.
我是.NET中的一个原始对象.任何指导将不胜感激.
感谢您.基思.
示例XML - 最多100,000个,每个功能最多234,600个coords.
<feature featId="27168306" fType="vegetation" fTypeId="1129" fClass="vegetation" gType="Polygon" ID="0" cLockNr="51598" metadataId="51599" mdFileId="NRM/TIS/VEGETATION/9543_22_v3" dataScale="25000">
<MultiGeometry>
<geometryMember>
<Polygon>
<outerBoundaryIs>
<LinearRing>
<coordinates>153.505004,-27.42196 153.505044,-27.422015 153.503992 .... 172 coordinates omitted to save space ... 153.505004,-27.42196</coordinates>
</LinearRing>
</outerBoundaryIs>
</Polygon>
</geometryMember>
</MultiGeometry>
</feature>
Run Code Online (Sandbox Code Playgroud) StringBuilder工作怎么样?
它内部有什么作用?它使用不安全的代码吗?为什么它如此之快(与+运营商相比)?
我有4GB +文本文件(csv格式),我想在c#中使用linq处理这个文件.
我在加载csv后运行复杂的linq查询并转换为类?
但是文件大小是4GB,尽管应用程序内存是文件的双倍大小.
我如何处理(linq和新结果)大文件?
谢谢