>Java >java지도 시간 >DocumentBuilder.parse()에서 DTD 참조를 무시하는 방법은 무엇입니까?

DocumentBuilder.parse()에서 DTD 참조를 무시하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-31 05:00:02205검색

How to Ignore DTD References in DocumentBuilder.parse()?

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.