4

XmlReader を使用した XML の読み取りは、慣用的な機能スタイルでどのように見えるのだろうか。つまり、ステートフル エンティティとしての XmlReader の処理方法です。良い例はありますか?

4

1 に答える 1

7

XmlReaderこれは、メモリ内のドキュメント全体を読み取らずに大きな XML ドキュメントを処理する必要がある場合 (つまり、ストリーム処理) に適していると言えます。これは特に機能的ではありませんが、まったく問題ありません。F# で I/O を行う場合、関数的な方法で記述する必要はありません。これは、I/O では常にトリッキーになるためです (不可能ではありませんが、F# ユーザーは単に使用する傾向があります)。標準の .NET ライブラリ)。

ファイルがメモリに収まり、かなり規則的な構造を持っている場合は、John が言及した XML タイプ プロバイダーが最適なオプションです。プロバイダーを呼び出すときに、サンプルの XML ファイルを渡すことができます。プロバイダーは構造を推測し、適切な型付けされた方法で XML を読み取ることができます。

複雑な構造 (XHTML のようなもの) を持つ不規則なファイルがある場合は、XDocument型を使用します (F# よりも最新の API を持ち、XmlDocumentF# から非常に簡単に使用できます)。

于 2013-10-21T05:22:41.713 に答える