java - 如何在 Java 中使用 StAX Parser 在 XML 中声明 DOCTYPE 和 ENTITY

标签 java xml parsing doctype stax

我正在使用 StAX 解析器来生成 XML。这是我需要生成的内容:

<?xml version = "1.0"?>

<!DOCTYPE FILE PUBLIC "-//SOMETHING//DTD bla bla bla//EN" "scheme.dtd" 
    [
        <!ENTITY file1 SYSTEM "D:\repo\file1.pdf" NDATA application_pdf>
    ]
>

<FILES>
    <FILE>
        <METADATA></METADATA>
        <CONTENT></CONTENT>
..... and so on .....

问题是我不知道如何声明 DOCTYPE 和 ENTITY 标记。尝试用谷歌搜索并没有找到任何解决方案。请帮忙。

最佳答案

XMLStreamWriter 类中有一个方法可以实现此目的: writeDTD 。只需将整个 DOCTYPE blob 传递到那里即可。

关于java - 如何在 Java 中使用 StAX Parser 在 XML 中声明 DOCTYPE 和 ENTITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22401933/

相关文章:

java - 如何在JTable中显示某些行

java - 如何确定文件是否在 USB 大容量存储设备上?

python - cElementTree <类型 'exceptions.SyntaxError' > : not well-formed (invalid token)

android - 使简单的 Accordion 可滚动

python - pyparsing 的递归表达式

java - 在抛出旧异常的同时抛出新异常

java - JNI : converting unsigned int to jint

java - Spring安全错误ApplicationEventMulticaster未初始化

XML Twig 不会缩进新添加的元素?

parsing - 逻辑表达式解析器