Как разрешить объявления сущностей и получить путь к файлу в XML?
<?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, для которого мне нужно получить filepath 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));
}
});
но я думаю, что у меня есть некоторая проблема с типом возвращаемого значения, поскольку я ожидаю, что файл изображения будет считан как байтовый массив? Какой должен быть тип возврата?
1 ответ
Решение
Ну вот:
Entity entity = (Entity) document.getDoctype().getEntities().item(i);
String path = entity.getSystemId();