我正在通过 Java 应用程序转换一些 xml。我用 javax.xml.transform.Source 加载 xml
Source src = new StreamSource(getXml());
解析 xml 时,它会尝试加载 DTD 和一些实体:
<!DOCTYPE dmodule SYSTEM "http://mysecureserver/System/DTD/dmodule/proced.dtd"[
<!NOTATION SWF SYSTEM "">
<!NOTATION PNG SYSTEM "">
<!ENTITY % catalog PUBLIC "-//MyCompany//ENTITIES//EN "http://mysecureserver/catalog.pen">
%catalog;
]>
我收到文件 IO 错误,因为没有凭据我无法访问文件“catalog.pen”。有没有办法将凭据传递给 javax.xml.transform.Source?
此外,我不能更改 DTD 声明,因为我不“拥有”xml。我只能读它。