Проблема разбора CDATA в xmlbeans - PullRequest
0 голосов
/ 04 декабря 2018

Я наткнулся на действительно интересную головоломку, мне потребовалось 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>

после синтаксического анализа его в XML-объект с помощью xmlbeans. Я получаю 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 удаляется, когда он содержит короткий текст, я хочу избежать этого ...

...