Transformasi fungsional XML (LINQ ke XML)

Artikel ini membahas pendekatan transformasi fungsional murni untuk memodifikasi dokumen XML, dan membandingkannya dengan pendekatan prosedural.

Memodifikasi dokumen XML

Salah satu tugas yang paling umum untuk programmer XML adalah mengubah XML dari satu bentuk ke bentuk lainnya. Bentuk dokumen XML adalah struktur dokumen, yang meliputi hal-hal berikut:

  • Hierarki yang dinyatakan oleh dokumen.
  • Nama elemen dan atribut.
  • Jenis data elemen dan atribut.

Secara umum, pendekatan yang paling efektif untuk mengubah XML dari satu bentuk ke bentuk lainnya adalah transformasi fungsional murni. Dalam pendekatan ini, tugas programmer utama adalah untuk membuat transformasi yang diterapkan ke seluruh dokumen XML (atau ke satu atau lebih node ketat didefinisikan). Transformasi fungsi ini bisa dibilang yang paling mudah untuk dikodekan (setelah programmer terbiasa dengan pendekatan), menghasilkan kode yang paling dapat dipertahankan, dan sering kali lebih ringkas daripada pendekatan alternatif.

Teknologi transformasi fungsi xml

Microsoft menawarkan dua teknologi transformasi fungsional untuk digunakan pada dokumen XML: XSLT dan LINQ ke XML. XSLT didukung di namespace terkelola System.Xml.Xsl dan dalam implementasi COM asli MSXML. Meskipun XSLT adalah teknologi yang kuat untuk memanipulasi dokumen XML, XSLT memerlukan keahlian dalam domain khusus, yaitu bahasa XSLT dan API pendukungnya.

LINQ ke XML menyediakan alat yang diperlukan untuk mengodekan transformasi fungsi murni dengan cara yang ekspresif dan kuat, dalam kode C# atau Visual Basic. Misalnya, banyak contoh dalam dokumentasi LINQ ke XML menggunakan pendekatan fungsi murni. Juga, dalam tutorial Tutorial: Memanipulasi Konten dalam Dokumen WordprocessingML, kami menggunakan LINQ ke XML dalam pendekatan fungsional untuk memanipulasi informasi dalam dokumen Microsoft Word.

Untuk perbandingan LINQ yang lebih lengkap dengan XML dengan teknologi Microsoft XML lainnya, lihat LINQ ke XML vs. teknologi XML lainnya.

XSLT adalah alat yang direkomendasikan untuk transformasi yang berfokus pada dokumen ketika dokumen sumber memiliki struktur yang tidak teratur. Namun, LINQ ke XML juga dapat melakukan transformasi yang berfokus pada dokumen. Untuk informasi selengkapnya, lihat Cara menggunakan anotasi untuk mengubah LINQ ke pohon XML dalam gaya XSLT.

Lihat juga