简体   繁体   中英

Java and XML: How to get list of included files

I have problem with by Xinclude or as an entity included files. I need to know, which files have been included by parser. Example:

<?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>
The parser creates DOM successfully, but how to get names of files included? The element xi:include is already replaced with content of file.

Extend DefaultHandler and @Overwrite the resolveEntity method. Your implementation will simply print or log the publicId/systemId and return null , so the SAXParser will use the default behaviour to resolve the entities.

Pass your DefaultHandler subclass with the SAXParser constructor.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM