java - 如何解析实体声明并获取 XML 中的文件路径?

标签 java xml jaxp entityresolver

<?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/

相关文章:

java - class.super.method 和 class.method 有什么区别?

java - 如何在android中将图像发布到twitter

java - 在 Canvas 中绘制可绘制不起作用

php - 从 PHP 编写 SQLite 数据库

c - C 的 XML 库

java - JAXP 可以用来创建 HTML5 文档吗?

java - XML 解析器 Jar 混淆

java - 没有像 postId 这样的 fb 我刚刚分享成功

xml - 如何将 xml 节点添加到 symfony Crawler()

java - JDK 对实体扩展的限制