Java 和 XML:如何获取包含文件的列表
Posted
技术标签:
【中文标题】Java 和 XML:如何获取包含文件的列表【英文标题】:Java and XML: How to get list of included files 【发布时间】:2011-10-02 13:58:29 【问题描述】:我对 Xinclude 或作为实体包含的文件有疑问。我需要知道,解析器包含了哪些文件。示例:
]>解析器创建DOM成功,但是如何获取包含的文件名?元素第三章 &externalFile;
xi:include
已经替换为文件内容。
【问题讨论】:
你是如何解析 xml 的?你在使用标准的 Java DOM 解析吗? 是的,我愿意。我创建了一个DocumentBuilderFactory
实例,然后创建了一个文档构建器实例。文档生成器使用 Xerces。
【参考方案1】:
扩展DefaultHandler
和@Overwrite
resolveEntity
方法。您的实现将简单地打印或记录 publicId/systemId 并返回 null
,因此 SAXParser
将使用默认行为来解析实体。
使用SAXParser
构造函数传递您的DefaultHandler
子类。
【讨论】:
非常感谢。有用。对于所有包含的文件(x 包含或作为实体包含),该方法获取合并为systemId
参数的文件的绝对路径。以上是关于Java 和 XML:如何获取包含文件的列表的主要内容,如果未能解决你的问题,请参考以下文章