GevenXMLファイル
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ExternalRequestContext [
<!ELEMENT ExternalRequestContext EMPTY>
<!ATTLIST ExternalRequestContext
requestType CDATA #REQUIRED
deepEnrichment (true | false) "false"
channelMandatory (true | false) "true">
]
>
<ExternalRequestContext requestType="News" deepEnrichment="false" />
そしてxStreamコード
@XStreamAlias("ExternalRequestContext")
class ERC {
private String requestType;
private boolean deepEnrichment;
private boolean channelMandatory;
}
...
XStream x = new XStream();
x.processAnnotations(ERC.class);
ERC erc = (ERC)x.fromXML(new FileReader("C:/Projects/Forwarder/Test.xml"));
x.toXML(erc, System.out);
私のブラウザはそれを次のようにレンダリングします:
<ExternalRequestContext requestType="News" deepEnrichment="false" channelMandatory="true" />
channelMandatory = "true"(ブラウザーがDTD命令を処理した)に注意してください
xStreamが生成する間
<ExternalRequestContext>
<deepEnrichment>false</deepEnrichment>
<channelMandatory>false</channelMandatory>
</ExternalRequestContext>
ここでchannelMandatory="false"(xStreamは "channelMandatory(true | false)" true "" DTD命令を無視しました)
何が恋しいですか?xStreamにDTD命令を処理するように「指示」する方法は?また、xStreamでDTD検証を有効にするにはどうすればよいですか?