具有空元素的STAX XML文件生成

时间:2018-11-27 11:27:34

标签: java xml-parsing xml-validation stax

我正在使用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"));

谢谢。

0 个答案:

没有答案