我正在使用jdom 2.0.6版本并收到此IllegalDataException:
Error in setText for tokenization:
调用setText()方法失败。
Element text = new Element("Text");
text.setText(doc.getText());
似乎文字中的某些字符'它不接受。举两个例子:
Originally Posted by Yvette H( 45) Odd socks, yes, no undies yes, no coat yes, no shoes odd.
ParryOtter said: Posted
我应该在某处指定编码还是出于其他原因?
答案 0 :(得分:0)
事实上,您只需要使用CDATA转义包含非法字符的文本:
Element text = new Element("Text");
text.setContent(new CDATA(doc.getText()));
反向操作(读取使用CDATA转义的文本在JDOM2中是透明的,您不必将其转义回来)。
对于我的测试,我在文本末尾添加了一个非法字符,方法是从十六进制值0x2创建一个非法字符:
String text = doc.getText();
int hex = 0x2;
text += (char) hex;