大きな GML ファイルに対する C# での効率的な XML 解析
GML 形式などの大きな XML ファイルには、次のような理由による解析の課題があります。メモリの制約。この質問では、GML ベースのスキーマから特徴を抽出する特定のケースを考慮して、XML データを効果的に解析するためのさまざまなアプローチを検討します。
XmlReader: 効率的なオプション
大きな XML ファイルを解析するアプローチは、XmlReader を使用することです。XmlReader は、XML データへの順方向のみの非キャッシュ アクセスを提供します。このアプローチはメモリ効率が高く、単純な SAX リーダーと同等です。
using (XmlReader myReader = XmlReader.Create(@"c:\data\coords.xml")) { while (myReader.Read()) { // Process each node (myReader.Value) here // ... } }
XmlReader は、最大 2 ギガバイト (GB) のサイズのファイルを処理できます。
その他考慮事項
DOM パーサーやXmlSerializer は、メモリ消費量が多いため、通常、大きな XML ファイルには適していません。 XmlSerializer には XML スキーマの事前の知識が必要ですが、これは大きな欠点となる可能性があります。
XLINQ: 代替
XLINQ は LINQ の拡張機能であり、LINQ の機能的な代替手段を提供します。 XMLリーダー。これは、XML データのメモリ内表現を提供しますが、より大きな XML ファイルに適したメモリ最適化機能を備えています。
結論
大きな XML の効率的な解析用C# でファイルを作成する場合は、XmlReader が推奨されるアプローチです。順方向のみのアクセス、低メモリ消費、および最大 2 GB のサイズのファイルを処理する機能を提供します。さらに大きなファイルの場合は、メモリ内表現と遅延読み込みを通じてメモリを最適化する XLINQ の使用を検討してください。
以上がC# で大きな GML ファイルを効率的に解析するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。