【发布时间】:2012-04-27 04:10:42
【问题描述】:
我正在编写一些与需要以下元素的遗留系统对话的代码:
<BankRate><![CDATA[ ]]><BankRate>
我这辈子都做不到,到目前为止我的尝试是:
parent.setBankRate(" ");
XmlCursor cursor = cc.xgetBankRate().newCursor();
cursor.toFirstContentToken();
cursor.setBookmark(CDataBookmark.CDATA_BOOKMARK);
cursor.dispose();
这只会导致以下结果:
<BankRate><BankRate>
父母的选项是: setSaveCDataEntityCountThreshold(0).setSaveCDataLengthThreshold(0);
如果我像下面这样设置BankRate:
cc.setBankRate("<![CDATA[ ]]>");
我得到了角色实体(这不是我想要的)
【问题讨论】:
-
您可能需要将 CDATA 长度阈值设置为较低的值,因为您只输出几个空格作为文本元素。您可以参考Javadoc 获取指导。
-
我认为 cdataLengthThreshold 不能低于 0 吗?
-
你把它设置为零了吗?默认值为 32。
-
setSaveCDataLengthThreshold(0) 和 setSaveCDataEntityCountThreshold(0) 都在选项上设置
-
BankRate 元素的类型是什么?设置它可能会丢弃空格。