|
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
|---|---|
| 作者 | 正文 |
|
最后更新时间:2005-08-17
xml里面的cdata类型里面,应该不允许包含:
<![CDATA[ ]]> 如果用户发表的内容里面包含这些数据,应该如何处理哪? 答案难道是:不用cdata? cdata是个鸡肋? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
http://www.theserverside.net/articles/showarticle.tss?id=DM_XML
引用 In order to make XML compatible with SGML, the character sequence that ends a CDATA section (]]>) must not appear inside element content. Instead the closing greater-than character (>) must be escaped using the appropriate entity (&). For example, the following is illegal in XML: 你用什么lib生成xml的?这种事情是xml generate lib应该帮你自动处理掉的。 |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
我说的是CDATA类型的啊
其他类型是当然要处理掉的 |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
插入CDATA类型的text,xml generate lib也应该会自动帮你做转换的。
|
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
[code:1]
& lt ;[CDATA[ ]]& gt ; [/code:1] 这样好了 |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
咳,我明白了
|
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
我来写个bt点的:
[code:1] <a href="test.gif" alt=]]> hello </a> [/code:1] |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
"<a href="test.gif" alt=]]> hello </a>".replace(">","& gt;");
|
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
你最好找个阅读器自己试试,我试过了
例如"周博通RSS阅读器" 就无法解析 |
|
| 返回顶楼 | |
|
最后更新时间:2005-08-17
Readonly 写道 插入CDATA类型的text,xml generate lib也应该会自动帮你做转换的。
你用啥xml lib? 我用jdom试了,它不转,而是报异常,不允许包含,呵呵 [code:1] Document doc = new Document(); doc.setRootElement(new Element("root")); CDATA node = new CDATA("hello alt=]]&"); node.setText("hello]]>"); [/code:1] 异常: 引用 org.jdom.IllegalDataException: The data "hello]]>" is not legal for a JDOM CDATA section: CDATA cannot internally contain a CDATA ending delimiter (]]>). at org.jdom.CDATA.setText(CDATA.java:121) at zerotest.XmlFileTest.main(XmlFileTest.java:25) |
|
| 返回顶楼 | |






