Java での XML 解析中に DTD 参照を無効にするにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-26 23:58:30
オリジナル
579 人が閲覧しました

How can I disable DTD references during XML parsing in Java?

ドキュメント解析における DTD 参照の無視

DTD 参照を含む XML ファイルを解析する場合、DTD ファイルが見つからないかアクセスできないため、エラーが発生することがあります。 DTD 参照を無視してこれらのエラーを回避するには、DocumentBuilderFactory 設定を変更する必要があります。

getDoc() メソッド内で、DocumentBuilderFactory をインスタンス化し、その機能を次のように構成します。

<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>
ログイン後にコピー

By検証を無効にして外部 DTD のロードを抑制すると、DocumentBuilder は解析中に DTD 参照をスキップします。これにより、DTD の可用性に依存せずに XML ファイルを処理できるようになります。

パーサー実装に固有のカスタマイズ オプションの詳細については、Xerces2 のドキュメントを参照してください。

以上がJava での XML 解析中に DTD 参照を無効にするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!