今天同事想用DataReport来展示存放在数据库中的XML格式数据时, 发现并不能被正常显示, 原因是数值中有XML数据的一些标记, 比如:
<![cdata[| 以下是代码片段: <![cdata[ ]]> |
这时DataReport中生成的XML数据流就被这些标记打乱了, 为了支持这种数据的显示, 需要处理几个特殊的字符, 用转义后的字符串进行相应的替换.
| 以下是代码片段: & = & " = " > = > < = < \n = <br> |
在默认情况下, 这个转换对字符值是不起用的, 只有当这个字段有格式化串定义时才会进行转义处理, 在我同事遇到的例子(XML数据列的字段名为XMLDATA)中, 报表定义文件中需要添加如下设置.
| 以下是引用片段: WEBCHART.FORMATER_n=XMLDATA|$XMLDATA |
对于用"WEBCHART.HREF"属性定义的超文本链接, 则会进行相应的URL转义处理, 这个在默认情况下就是启用的. 所有的处理只对字段值有效, 不对报表定义文件中的设置生效, 也就是你要保证报表定文件中是符合URL/HTML标准的.
产品永远都在不断完善用户的真实需求的过程中成长.