我正在从salesforce数据库创建一个xml,除了在被获取的数据中有一个&之外,一切都很好。
<apex:page contenttype="text/xml"
> controller="Test2ab" > <data
> wiki-section="Timeline"> <apex:repeat
> value="{!lsttask}" var="e" > <event
> start="{!e.ActivityDate}" title=
> "{!e.Subject}"> <apex:outputText
> value="{!e.Subject}" /> </event>
> </apex:repeat> </data></apex:page>
在控制器中,我只是在查询
> lsttask =[Select OwnerId,WhoId,Status,Subject,ActivityDate from Task where Status = 'Completed' Order By ActivityDate Desc];
如何对从数据库中检索到的值使用转义
谢谢,普拉迪
发布于 2011-01-04 17:52:50
我对APEX/Salesforce知之甚少,但是当您使用从数据库获取的字符串构建XML时,您可能需要调用字符串的replace方法:
string.replace("&","&")
http://www.salesforce.com/us/developer/docs/apexcode/salesforce_apex_language_reference.pdf
您可能还希望顶层考虑替换< with <, > with >,' with ' and " with "
发布于 2011-10-14 17:25:54
在您的示例中,这样做效果很好:
<apex:outputText value="{!HTMLENCODE(e.Subject)}" escape="false" />
在更简单的情况下,您还可以使用:
{!HTMLENCODE(e.Subject)}
下面是HTMLENCODE and other Salesforce functions的摘要,这是一个将顶点:outputText与HTMLENCODE配对的示例,而escape=false在Apex Dev Guide中
发布于 2013-03-22 12:37:38
这可能也会有所帮助。我知道这个游戏来得太晚了,但它可能会对其他访问这个话题的人有所帮助。
https://stackoverflow.com/questions/4593772
复制