簡體   English   中英

如何在Java中使用StAX Parser在XML中聲明DOCTYPE和ENTITY

[英]How to declare DOCTYPE and ENTITY in XML using StAX Parser in Java

我正在使用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傳遞到那里即可。

我找到了解決方案。 我禁用了在工廠轉義的字符:

XMLOutputFactory factory = XMLOutputFactory.newInstance();
factory.setProperty("escapeCharacters", false);

並使用writeCharacters方法編寫了DOCTYPE和ENTITY:

writer.writeCharacters("doctype bla bla");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM