gpt4 book ai didi

java - XML解析器java跳过dtd验证

转载 作者:太空宇宙 更新时间:2023-11-04 15:03:11 25 4
gpt4 key购买 nike

我想跳过 DTD 验证,因为我没有互联网连接。是否可以在 java 中实现它。

我的代码是:

  file = new File(filepath);  

// Create instance of DocumentBuilderFactory
factory = DocumentBuilderFactory.newInstance();

// Get the DocumentBuilder
docBuilder = factory.newDocumentBuilder();

// Using existing XML Document

doc = docBuilder.parse(file);

我的错误是这样的,我知道这个错误的原因。

a.net.UnknownHostException: www.jboss.org  
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at sun.net.NetworkClient.doConnect(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.openServer(Unknown Source)
at sun.net.www.http.HttpClient.<init>(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.http.HttpClient.New(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(UnknownSource)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.connect(Unknown Source)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.startDTDEntity(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)

最佳答案

一个令人发指的黑客就是编写一个自定义 java.io.InputStream扩展,它只是在解析器看到它之前删除 DTD 引用。

关于java - XML解析器java跳过dtd验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22334255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com