xmlbeans CDATA解析问题

时间:2018-12-04 15:13:07

标签: java xsd xmlbeans

我遇到了一个非常有趣的难题,我花了2天时间寻找解决方案,但我放弃了,也许你们中的一些人经历了类似的事情,并可能为我提供一些提示。

所以,我有XML字符串,例如(这些仅是摘录):

<Row>
	<Component>
		<Data><![CDATA[<p>soem very long text.... let's assume 1000 characters </p>]]></Data>
	</Component>
</Row>

<Row>
	<Component>
		<Data><![CDATA[<p>short text</p>]]></Data>
	</Component>
</Row>

在使用xmlbeans将其解析为XML对象之后,我最终得到了st像这样:

<Row>
	<Component>
		<Data><![CDATA[<p>soem very long text.... let's assume 1000 characters </p>]]></Data>
	</Component>
</Row>

<Row>
	<Component>
		<Data>&lt;p>short text&lt;/p>></Data>
	</Component>
</Row>

这两行具有完全相同的结构,唯一的区别是CDATA中的文本长度。 我尝试使用XmlOptions

    xmlOptions.setSaveCDataLengthThreshold(x);
    xmlOptions.setSaveCDataEntityCountThreshold(x);

在所有可能的混合中都被忽略,但结果始终是相同的... CDATA包含短文本时将被删除,我想避免这种情况……

0 个答案:

没有答案