Ignorer les références DTD dans l'analyse de documents
Lors de l'analyse de fichiers XML avec des références DTD, on peut rencontrer des erreurs dues à des fichiers DTD manquants ou inaccessibles. Pour contourner ces erreurs tout en ignorant les références DTD, des modifications des paramètres de DocumentBuilderFactory sont nécessaires.
Dans la méthode getDoc(), instanciez une DocumentBuilderFactory et configurez ses fonctionnalités comme suit :
<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>
Par en désactivant la validation et en supprimant le chargement des DTD externes, DocumentBuilder ignorera les références DTD lors de l'analyse. Cela permet le traitement de fichiers XML sans dépendre de la disponibilité des DTD.
Référez-vous à la documentation Xerces2 pour plus de détails sur les options de personnalisation spécifiques à l'implémentation de l'analyseur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!