ホームページ >Java >&#&チュートリアル >DocumentBuilder.parse() で DTD 参照を無視するにはどうすればよいですか?
DocumentBuilder.parse() での DTD 参照の無視
外部 DTD への参照を含む XML ファイルを解析するときに、DTD がは利用できません。これらのエラーを回避し、XML コンテンツの解析のみに集中するには、次の解決策を検討してください。
<code class="java">DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); // Disable validation and related features dbf.setValidating(false); dbf.setNamespaceAware(true); 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); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(f);</code>
これらの機能を無効にすると、パーサーは DTD 参照を無視し、XML コンテンツの解析を続行します。
特定のオプションは XML パーサーの実装によって異なる場合があることに注意してください。 DTD 関連機能の無効化の詳細については、特定のパーサーのドキュメントを参照してください。
以上がDocumentBuilder.parse() で DTD 参照を無視するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。