Bagikan melalui


Menyelesaikan Sumber Daya Eksternal

Properti XmlResolver dari XmlDocument digunakan oleh kelas XmlDocument untuk menemukan sumber daya yang tidak selaras dalam data XML, seperti definisi jenis dokumen eksternal (DTD), entitas, dan skema. Item ini dapat ditemukan di jaringan atau di drive lokal, dan dapat diidentifikasi oleh Pengidentifikasi Sumber Daya Seragam (URI). Ini memungkinkan XmlDocument untuk menyelesaikan node EntityReference yang ada dalam dokumen dan memvalidasi dokumen sesuai dengan DTD atau skema eksternal.

Fully-Trusted XmlDocument

Properti XmlResolver memengaruhi fungsionalitas metode XmlDocument.Load. Tabel di bawah ini memperlihatkan cara kerja properti XmlDocument.XmlResolver saat objek XmlDocument memiliki kepercayaan penuh. Tabel berikut menunjukkan metode XmlDocument.Load saat input ke Pemuatan adalah TextReader, String, Stream, atau URI. Tabel ini tidak berlaku untuk metode Muat jika XmlDocument dimuat dari XmlReader.

Properti XmlResolver Fungsi Catatan
Properti diatur ke kelas XmlResolver yang telah dibuat sebelumnya dan memiliki properti yang sudah diatur di dalamnya oleh pengguna. XmlDocument menggunakan XmlResolver yang diberikan untuk menyelesaikan nama file, untuk menyelesaikan referensi ke sumber daya eksternal seperti DTD, entitas, dan skema.

XmlResolver juga digunakan saat menyelesaikan sumber daya eksternal yang diperlukan saat menambahkan atau mengedit node di XmlDocument.
XmlResolver yang diberikan ke XmlDocument adalah penyelesai yang digunakan setiap kali sumber daya eksternal perlu ditemukan dan diselesaikan.
Properti diatur ke null (Tidak ada di Microsoft Visual Basic .NET). Fitur yang memerlukan sumber daya eksternal tidak didukung, seperti menemukan skema eksternal, atau DTD. Entitas eksternal juga tidak akan diselesaikan, dan melakukan fungsi pengeditan, seperti menyisipkan node entitas yang memerlukan resolusi, tidak didukung. XmlDocument memuat file sebagai anonim dan tidak mencoba menyelesaikan sumber daya lainnya.
Properti tidak diatur, tetapi dibiarkan dalam status defaultnya. XmlUrlResolver dengan mandat NULL akan dibuat dan digunakan oleh XmlDocument saat menyelesaikan nama file, menemukan DTD, entitas, dan skema eksternal, dan mandat null digunakan saat mengedit node.

Tabel berikut ini memperlihatkan metode XmlDocument.Load saat input ke Load adalah XmlReader dan XmlDocument memiliki kepercayaan penuh.

Properti XmlResolver Fungsi Catatan
Kelas XmlResolver yang digunakan oleh XmlDocument adalah kelas yang sama yang digunakan oleh XmlReader. XmlDocument menggunakan XmlResolver yang ditetapkan ke XmlReader.

Properti XmlDocument.Resolver tidak dapat diatur, terlepas dari tingkat kepercayaan XmlDocument, karena mendapatkan XmlResolver dari XmlReader. Anda tidak dapat mencoba mengambil alih pengaturan XmlResolverXmlReaders dengan mengatur properti XmlResolverXmlDocument.
XmlReader dapat berupa XmlTextReader, XmlValidatingReader, atau pembaca yang ditulis kustom. Jika pembaca yang digunakan mendukung resolusi entitas, entitas eksternal akan diselesaikan. Jika pembaca yang lulus tidak mendukung referensi entitas, maka referensi entitas tidak diselesaikan.

Semi-Trusted XmlDocument

Tabel berikut ini memperlihatkan cara kerja properti XmlDocument.XmlResolver saat objek bersifat semi-tepercaya. Tabel ini berlaku untuk metode XmlDocument.Load saat input ke Pemuatan adalah TextReader, String, Stream, atau URI. Tabel ini tidak berlaku untuk metode Muat jika XmlDocument dimuat dari XmlReader.

Properti XmlResolver Fungsi Catatan
Dalam skenario semi-tepercaya, properti XmlResolver tidak dapat diatur ke status apa pun selain null. XmlUrlResolver dengan mandat null akan dibuat dan digunakan oleh XmlDocument saat menyelesaikan nama file, menemukan DTD, entitas, dan skema eksternal, dan mandat null digunakan saat mengedit node. Perilaku ini identik dengan perilaku ketika properti XmlResolver tidak diatur, tetapi dibiarkan dalam status defaultnya.

XmlDocument menggunakan izin anonim untuk semua tindakan.
Properti diatur ke null (Tidak ada di Microsoft Visual Basic .NET). Fitur yang memerlukan sumber daya eksternal tidak didukung, seperti menemukan skema eksternal atau DTD. Entitas eksternal juga tidak akan diselesaikan, dan melakukan fungsi pengeditan seperti menyisipkan node entitas yang memerlukan resolusi, tidak didukung. Ketika propertinya null, perilakunya sama terlepas dari apakah XmlDocument memiliki kepercayaan penuh atau semi-tepercaya.
Properti tidak diatur, tetapi dibiarkan dalam status defaultnya. XmlUrlResolver dengan mandat null akan dibuat dan digunakan oleh XmlDocument saat menyelesaikan nama file, menemukan DTD, entitas, dan skema eksternal, dan mandat null digunakan saat mengedit node. XmlDocument menggunakan izin anonim untuk semua tindakan.

Tabel ini berlaku untuk metode XmlDocument.Load saat input ke Load adalah XmlReader, dan XmlDocument adalah semi-tepercaya.

Properti XmlResolver Fungsi Catatan
Kelas XmlResolver yang digunakan oleh XmlDocument adalah kelas yang sama yang digunakan oleh XmlReader. XmlDocument menggunakan XmlResolver yang ditetapkan ke XmlReader.

Properti XmlDocument.Resolver tidak dapat diatur, terlepas dari tingkat kepercayaan XmlDocument, karena mendapatkan XmlResolver dari XmlReader. Anda tidak dapat mencoba mengambil alih pengaturan XmlReaders XmlResolver dengan mengatur properti XmlResolver xmlDocument.
XmlReader dapat berupa XmlTextReader, XmlReader yang memvalidasi, atau pembaca yang ditulis kustom. Jika pembaca yang digunakan mendukung resolusi entitas, entitas eksternal akan diselesaikan. Jika pembaca yang lulus tidak mendukung referensi entitas, maka referensi entitas tidak diselesaikan.

Mengatur XmlResolver agar berisi mandat yang benar memungkinkan akses ke sumber daya eksternal.

Catatan

Tidak ada cara untuk mengambil properti XmlResolver. Ini membantu mencegah pengguna menggunakan kembali XmlResolver dengan mandat yang telah diatur. Selain itu, jika XmlTextReader atau XmlReader validasi digunakan untuk memuat XmlDocument dan XmlDocument memiliki penyelesai yang telah diatur, penyelesai dari pembaca ini tidak di-cache oleh XmlDocument setelah fase Pemuatan, karena ini juga menimbulkan risiko keamanan.

Untuk informasi selengkapnya, lihat bagian Keterangan dari halaman referensi XmlResolver.

Lihat juga