<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE dmodule
[<!NOTATION JPEG SYSTEM 'Joint Photographic Experts Group'>
<!ENTITY abcd SYSTEM 'sunset.jpg' NDATA JPEG>
]>
....
<graphic id = "abcd"/>
引用上面的示例代码,我需要在我的html上获取日落图像,为此我需要获取实体声明中定义的文件路径sunset.jpg。
我该如何用Java来做呢? 我试过了
document.getDoctype().getEntities().item(i).getNodeName(),
但它给了我 abcd,但我需要文件路径“sunset.jpg”。
我也尝试过,
builder.setEntityResolver(new EntityResolver() {
@Override
public InputSource resolveEntity(String publicId, String systemId)
throws SAXException, IOException {
// TODO Auto-generated method stub
System.out.println("Public and System IDs"+publicId+" "+systemId);
return new InputSource(new StringReader(referDM));
}
});
但我认为我的返回类型有一些问题,因为我期望将图像文件读取为字节数组,?返回类型应该是什么?
最佳答案
给你:
Entity entity = (Entity) document.getDoctype().getEntities().item(i);
String path = entity.getSystemId();
关于java - 如何解析实体声明并获取 XML 中的文件路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12177206/