Tuesday, 25 August 2015

Error CAML Query containing special characters

If you are building a CAML Query to match a value which contains a special character like & (say SharePoint&InfoPath), you will receive an error and query will fail. 

Resolution - Handle this the way you handle special characters in XML. 
Include your value within < ![CDATA[ value ]] >

Incorrect (throws error) - 
<Eq><FieldRef Name="Title" /><Value Type="Text">SharePoint&InfoPath</Value></Eq> 
Correct - 
<Eq><FieldRef Name="Title" /><Value Type="Text"><![CDATA[SharePoint&InfoPath]]></Value></Eq> 

In real scenarios, build your CAML Query by appending the value in the query, like – 
<Eq><FieldRef Name="Title" /><Value Type="Text"><![CDATA[‘ + value + ‘]]> </Value></Eq>’ 
[where value = text to be matched]

No comments:

Post a Comment