我正在使用XMLBeans生成xml。 有没有办法自动包含CDATA Wrapper输出xml文档中的必需元素。 例如,我的输出xml应如下所示:
<employee>
<name><![CDATA[NAME]]></name>
<address><![CDATA[ADDRESS]]></address>
</employee>
1)我们能否以这样的方式编写XSD,每当我使用XMLBeans为我的程序中的<name>
元素设置值时,输出xml应该包含如下名称元素:<name><![CDATA[NAME]]></name>
而不是{ {1}}
2)XMLBeans中是否有办法为特定元素生成CDATA Wrapper。
任何帮助都将不胜感激。
答案 0 :(得分:2)
见this thread。简而言之:
node.setFoo("ABCDE12345");
XmlCursor c = node.xgetFoo().newCursor();
c.toFirstContentToken();
c.setBookmark(CDataBookmark.CDATA_BOOKMARK);
然后当您去“保存”文档时,请务必传入XmlOptions,如:
XmlOptions opts = new XmlOptions().setUseCDataBookmarks();
node.xmlText(opts);
答案 1 :(得分:1)
只是阅读文档 - 我不是XMLBeans用户。如果有经验的人写得不一样 - 相信他们,而不是我。
请参阅CDataBookmark和XmlOptions。setCDATAEntityCountThreshold,setUseCDataBookmarks,setSaveCDataLengthThreshold。
有关如何在文本中设置CDataBookmark的文档不清楚。请参阅this bit from Nabble。