Rumah > Java > javaTutorial > teks badan

Bagaimana Menghuraikan Fail XML Mengabaikan Rujukan DTD Luaran di Java?

Linda Hamilton
Lepaskan: 2024-10-28 21:28:31
asal
388 orang telah melayarinya

How to Parse XML Files Ignoring External DTD References in Java?

Mengabaikan Rujukan DTD dalam DocumentBuilder.parse

Apabila menghuraikan fail XML yang merujuk kepada DTD luaran (Definisi Jenis Dokumen), anda mungkin menghadapi ralat jika DTD tidak tersedia atau jika anda tidak mahu mengesahkannya. Untuk menghuraikan fail sambil mengabaikan rujukan DTD, ikut langkah berikut:

Penyelesaian:

Konfigurasikan DocumentBuilderFactory untuk melumpuhkan pengesahan DTD:

<code class="java">DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();

// Disable validation
dbf.setValidating(false);

// Disable namespace awareness (optional)
dbf.setNamespaceAware(false);

// Disable specific features that load DTDs
dbf.setFeature("http://xml.org/sax/features/namespaces", false);
dbf.setFeature("http://xml.org/sax/features/validation", false);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", false);
dbf.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false);</code>
Salin selepas log masuk

Setelah DocumentBuilderFactory dikonfigurasikan, anda boleh meneruskan dengan mencipta DocumentBuilder dan menghuraikan fail:

<code class="java">DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(f);</code>
Salin selepas log masuk

Dengan melumpuhkan pengesahan DTD dan ciri berkaitan, penghurai akan mengabaikan rujukan kepada DTD luaran dan meneruskan dengan menghurai fail XML tanpa menimbulkan ralat. Adalah penting untuk ambil perhatian bahawa penyelesaian ini mungkin tidak sesuai untuk semua senario, seperti apabila anda bergantung pada DTD untuk pengesahan data.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Fail XML Mengabaikan Rujukan DTD Luaran di Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!