我正在使用STAX事件迭代器API在JAVA中生成xml文件,我的问题是我的空元素是在两行中生成的,如下所示:
<Verbatim VerbatimID="vkUYc90" VerbatimType="Sms" Date="2018-11-27 12:08:11.163" VerbatimSize="1">
</Verbatim>
<Verbatim VerbatimID="hsp23M7" VerbatimType="Sms" Date="2018-11-27 12:08:11.163" VerbatimSize="4">
</Verbatim>
不是像这样在一行上生成:
<Verbatim VerbatimID="hsp23M7" VerbatimType="Sms" Date="2018-11-27 10:45:38.261" VerbatimSize="4"></Verbatim>
<Verbatim VerbatimID="4rdbrDk" VerbatimType="Sms" Date="2018-11-27 10:45:38.261" VerbatimSize="2"></Verbatim>
当我尝试使用XSD架构验证xml文件时,这会引发异常:
元素'Verbatim'必须没有字符或元素信息项[children],因为该类型的内容类型为空
当xml文件元素在一行上时,验证有效。 如何在一行上生成空元素或使XSD验证在多行元素上起作用?
我生成的代码是:
eventWriter.add(eventFactory.createStartElement("", "", "Verbatim"));
eventWriter.add(eventFactory.createAttribute("VerbatimID", billingDocument.getDocumentId()));
eventWriter.add(eventFactory.createEndElement("", "", "Verbatim"));
谢谢。