Rumah >Java >javaTutorial >Bagaimanakah saya boleh melumpuhkan rujukan DTD semasa penghuraian XML dalam Java?
Mengabaikan Rujukan DTD dalam Penghuraian Dokumen
Apabila menghuraikan fail XML dengan rujukan DTD, seseorang mungkin menghadapi ralat kerana fail DTD yang hilang atau tidak boleh diakses. Untuk memintas ralat ini sambil mengabaikan rujukan DTD, pengubahsuaian pada tetapan DocumentBuilderFactory diperlukan.
Dalam kaedah getDoc(), nyatakan DocumentBuilderFactory dan konfigurasikan cirinya seperti berikut:
<code class="java">DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // Ignore DTD references dbf.setValidating(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); // Additional settings dbf.setNamespaceAware(true); dbf.setFeature("http://xml.org/sax/features/namespaces", false); DocumentBuilder db = dbf.newDocumentBuilder(); ...</code>
Oleh melumpuhkan pengesahan dan menyekat pemuatan DTD luaran, DocumentBuilder akan melangkau rujukan DTD semasa menghuraikan. Ini membenarkan pemprosesan fail XML tanpa bergantung pada ketersediaan DTD.
Rujuk dokumentasi Xerces2 untuk butiran tambahan tentang pilihan penyesuaian khusus untuk pelaksanaan parser.
Atas ialah kandungan terperinci Bagaimanakah saya boleh melumpuhkan rujukan DTD semasa penghuraian XML dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!