Saya juga akan senang mendengar jawaban pertanyaan ini dari orang-orang dengan tahun pengalaman lebih dari diriku sendiri.
Saya secara pribadi telah mengimplementasikan beberapa format file untuk pekerjaan saya, dan saya telah pindah ke menggunakan format file XML. Persyaratan dan perangkat keras saya yang berinteraksi dengan saya berubah setiap saat, dan tidak ada yang tahu apa yang perlu saya tambahkan ke format di masa mendatang. Salah satu keunggulan utama XML adalah semi-terstruktur . Untuk alasan ini, saya biasanya menghindari Serialisasi XML otomatis yang disediakan oleh .NET karena saya percaya itu memaksa untuk mengharapkan format yang tepat.
Tujuan saya adalah membuat format XML yang memungkinkan elemen dan atribut baru ditambahkan di masa depan dan agar urutan tag tidak menjadi masalah bila memungkinkan. Jika Anda yakin bahwa Anda dapat memuat seluruh file Anda ke dalam memori maka XPATH mungkin merupakan pilihan yang baik.
Jika Anda berurusan dengan file yang sangat besar, atau karena alasan lain tidak dapat memuat file sekaligus, maka Anda mungkin dibiarkan menggunakan XmlStreamReader dan memindai elemen yang diketahui dan berulang ke elemen-elemen tersebut dengan ReadSubtree dan memindai lagi ...
BinaryFormatter
.