从数据库创建xml

时间:2011-01-04 12:52:28

标签: xml salesforce

我正在从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];

如何使用转义从数据库中检索的值
谢谢 Prady

3 个答案:

答案 0 :(得分:1)

我对APEX / Salesforce知之甚少,但是当你从数据库中提取的字符串构建XML时,你可能需要调用字符串的replace方法:

string.replace("&","&amp;")

http://www.salesforce.com/us/developer/docs/apexcode/salesforce_apex_language_reference.pdf

您可能还想要更换< with &lt;, > with &gt;,' with &apos; and " with &quot;

答案 1 :(得分:0)

在您的示例中,这很有效:

<apex:outputText value="{!HTMLENCODE(e.Subject)}" escape="false" />

在更简单的情况下,您还可以使用:

{!HTMLENCODE(e.Subject)}

以下是HTMLENCODE and other Salesforce functions的摘要 将apex:outputText与HTMLENCODE和escape = false配对的示例位于Apex Dev Guide

答案 2 :(得分:0)

这也可能有所帮助。我意识到游戏已经晚了,但它可能会帮助其他人访问这个话题。

http://it.toolbox.com/blogs/anything-worth-doing/a-better-way-to-generate-xml-on-salesforce-using-visualforce-55433