Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Model Objek Dokumen Aspose.Words (DOM) adalah representasi dalam memori dari dokumen Word. Aspose.Words DOM memungkinkan Anda membaca, memanipulasi, dan memodifikasi konten dan pemformatan dokumen Word secara terprogram.
Bagian ini menjelaskan kelas utama dari Aspose.Words DOM dan hubungannya. Dengan menggunakan kelas Aspose.Words DOM, Anda dapat memperoleh akses terprogram ke elemen dokumen dan pemformatan.
Ketika sebuah dokumen dibaca ke dalam Aspose.Words DOM, maka pohon objek dibuat dan berbagai jenis elemen dokumen sumber memiliki objek pohon DOM sendiri dengan berbagai properti.
Ketika Aspose.Words membaca dokumen Word ke dalam memori, itu membuat objek dari berbagai jenis yang mewakili berbagai elemen dokumen. Setiap proses teks, paragraf, tabel, atau bagian adalah sebuah simpul, dan bahkan dokumen itu sendiri adalah sebuah simpul. Aspose.Words mendefinisikan kelas untuk setiap jenis simpul dokumen.
Pohon dokumen dalam Aspose.Words mengikuti Pola Desain Komposit:
Diagram yang disediakan di bawah ini menunjukkan pewarisan antara kelas simpul dari Model Objek Dokumen Aspose.Words (DOM). Nama-nama kelas abstrak dicetak miring.
Node.
Mari kita lihat sebuah contoh. Gambar berikut menunjukkan dokumen Microsoft Word dengan berbagai jenis konten.
Saat membaca dokumen di atas ke dalam Aspose.Words DOM, pohon objek dibuat, seperti yang ditunjukkan pada skema di bawah ini.
Document, Section, Paragraph, Table, Shape, Run, dan semua elips lainnya pada diagram adalah objek Aspose.Words yang mewakili elemen dari dokumen Word.
NodeMeskipun kelas Node cukup memadai untuk membedakan node yang berbeda satu sama lain, Aspose.Words menyediakan pencacahan NodeType untuk menyederhanakan beberapa tugas API, seperti memilih node dari tipe tertentu.
Jenis setiap simpul dapat diperoleh dengan menggunakan properti NodeType. Properti ini mengembalikan nilai pencacahan NodeType. Misalnya, simpul paragraf yang diwakili oleh kelas Paragraph mengembalikan NodeType.Paragraph, dan simpul tabel yang diwakili oleh kelas Table mengembalikan NodeType.Table.
Contoh berikut menunjukkan cara mendapatkan tipe simpul menggunakan enumerasi NodeType:
Aspose.Words merepresentasikan dokumen sebagai pohon simpul, yang memungkinkan Anda bernavigasi di antara simpul. Bagian ini menjelaskan cara menjelajahi dan menavigasi pohon dokumen di Aspose.Words.
Saat Anda membuka dokumen sampel, yang disajikan sebelumnya, di Penjelajah Dokumen, pohon simpul muncul persis seperti yang direpresentasikan dalam Aspose.Words.
Simpul-simpul di pohon memiliki hubungan di antara mereka:
Node yang dapat berisi node lain berasal dari kelas CompositeNode, dan semua node pada akhirnya berasal dari kelas Node. Kedua kelas dasar ini menyediakan metode dan properti umum untuk navigasi dan modifikasi struktur pohon.
Diagram objek UML berikut menunjukkan beberapa simpul dari dokumen sampel dan hubungannya satu sama lain melalui properti induk, turunan, dan saudara kandung:
Sebuah simpul selalu menjadi milik dokumen tertentu, meskipun baru saja dibuat atau dihapus dari hierarki, karena struktur penting di seluruh dokumen seperti gaya dan daftar disimpan di simpul Document. Misalnya, tidak mungkin memiliki Paragraph tanpa Document karena setiap paragraf memiliki gaya yang ditetapkan yang didefinisikan secara global untuk dokumen tersebut. Aturan ini digunakan saat membuat node baru. Menambahkan Paragraph baru langsung ke DOM memerlukan objek dokumen yang diteruskan ke konstruktor.
Saat membuat paragraf baru menggunakan DocumentBuilder, pembuat selalu memiliki kelas Document yang ditautkan melalui properti DocumentBuilder.Document.
Contoh kode berikut menunjukkan bahwa saat membuat simpul apa pun, dokumen yang akan memiliki simpul selalu ditentukan:
Setiap node memiliki induk yang ditentukan oleh properti ParentNode. Sebuah simpul tidak memiliki simpul induk, yaitu, ParentNode adalah nol, dalam kasus berikut:
Anda dapat menghapus simpul dari induknya dengan memanggil metode Remove.Contoh kode berikut menunjukkan cara mengakses simpul induk:
Cara paling efisien untuk mengakses simpul turunan dari CompositeNode adalah melalui properti FirstChild dan LastChild yang masing-masing mengembalikan simpul turunan pertama dan terakhir. Jika tidak ada simpul turunan, properti ini mengembalikan null.
CompositeNode
Jika sebuah node tidak memiliki turunan, maka properti ChildNodes mengembalikan koleksi kosong. Anda dapat memeriksa apakah CompositeNode berisi simpul turunan apa pun menggunakan properti HasChildNodes.
Contoh kode berikut menunjukkan cara menghitung simpul turunan langsung dari CompositeNode menggunakan pencacah yang disediakan oleh koleksi ChildNodes:
Contoh kode berikut menunjukkan cara menghitung simpul turunan langsung dari CompositeNode menggunakan akses terindeks:
Anda dapat memperoleh simpul yang segera mendahului atau mengikuti simpul tertentu masing-masing menggunakan properti PreviousSibling dan NextSibling. Jika sebuah simpul adalah turunan terakhir dari induknya, maka properti NextSibling adalah null. Sebaliknya, jika simpul adalah turunan pertama dari induknya, properti PreviousSibling adalah null.
Contoh kode berikut menunjukkan cara mengunjungi semua node turunan langsung dan tidak langsung dari node komposit secara efisien:
Sejauh ini, kita telah membahas properti yang mengembalikan salah satu tipe dasar - Node atau CompositeNode. Namun terkadang ada situasi di mana Anda mungkin perlu memberikan nilai ke kelas simpul tertentu, seperti Run atau Paragraph. Artinya, Anda tidak dapat sepenuhnya melepaskan diri dari casting saat bekerja dengan Aspose.Words DOM, yang merupakan komposit.
Untuk mengurangi kebutuhan casting, sebagian besar kelas Aspose.Words menyediakan properti dan koleksi yang menyediakan akses bertipe kuat. Ada tiga pola dasar akses yang diketik:
Properti yang diketik hanyalah pintasan berguna yang terkadang memberikan akses lebih mudah daripada properti umum yang diwarisi dari Node.ParentNode dan CompositeNode.FirstChild.
Contoh kode berikut menunjukkan cara menggunakan properti yang diketik untuk mengakses node dari pohon dokumen:
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.