Java和XML:如何获取包含文件的列表

Java和XML:如何获取包含文件的列表,java,xml,xinclude,xml-entities,Java,Xml,Xinclude,Xml Entities,我对Xinclude或作为实体包含的文件有问题。我需要知道,解析器包含了哪些文件。例子: <?xml version="1.0" ?> <!DOCTYPE docBookChapter [ <!ENTITY externalFile SYSTEM "entityIncluded.xml"> ]> <chapter xmlns="http://www.w3.org/1999/xhtml"

我对Xinclude或作为实体包含的文件有问题。我需要知道,解析器包含了哪些文件。例子: <?xml version="1.0" ?> <!DOCTYPE docBookChapter [ <!ENTITY externalFile SYSTEM "entityIncluded.xml"> ]> <chapter xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude"> <title>Third chapter</title> <xi:include href="xIncluded.xml"/> <chapter> &externalFile;</chapter> </chapter> 第三章 &外部文件; 解析器成功地创建了DOM,但是如何获取包含的文件名呢?元素
xi:include
已替换为文件内容。

扩展和
@Overwrite
解析实体方法。您的实现只需打印或记录publicId/systemId并返回
null
,因此
SAXParser
将使用默认行为解析实体

使用
SAXParser
构造函数传递您的
DefaultHandler
子类。

扩展和
@Overwrite
方法。您的实现只需打印或记录publicId/systemId并返回
null
,因此
SAXParser
将使用默认行为解析实体


使用
SAXParser
构造函数传递您的
DefaultHandler
子类。

您是如何解析xml的?您使用标准的JavaDOM解析吗?是的,我使用。我创建一个
DocumentBuilderFactory
实例,然后创建一个DocumentBuilder实例。文档生成器使用Xerces。您是如何解析xml的?您使用标准的JavaDOM解析吗?是的,我使用。我创建一个
DocumentBuilderFactory
实例,然后创建一个DocumentBuilder实例。文档生成器使用Xerces。非常感谢。它起作用了。对于所有包含的文件(x-included或作为实体包含),该方法将获得作为
systemId
参数合并的文件的绝对路径。非常感谢。它起作用了。对于所有包含的文件(x-included或作为实体包含),该方法获取合并为
systemId
参数的文件的绝对路径。