2014-10-01 4 views
0

사용자가 미리 정의 된 값을 사용하여 검색 결과를 검색 할 수있는 JavaScript 도구로 작업하고 있습니다. 미리 정의 된 값 중 하나에 앰퍼샌드가 포함 된 구가 있습니다. Query 웹 서비스가 값을 반환하도록 문자열의 형식을 지정하는 방법을 알 수 없습니다.앰퍼샌드가있는 SharePoint 검색 웹 서비스

var eventCat = "Conference & Events"; 
var dateQ = "(DateStart>='" + startDate + "' AND DateStart<='" + endDate + "') AND "; 
var eventQ = " EventCategory='" + eventCat + "' AND "; 
var q = "SELECT Title,Path,Description,Write,Rank,Size,DateStart,DateEnd,EventCategory,GroupOnly FROM SCOPE() WHERE "; 
q += dateQ + eventQ + " GroupOnly=false AND (\"SCOPE\"='Sales Marketing & Excellence Events')"; 

var queryText = makeQuery(q); 

makeQuery은 XML이 >에, &에 <> <에와 앰퍼샌드 변환, 쿼리 웹 서비스를 필요로 만듭니다.

<QueryPacket xmlns='urn:Microsoft.Search.Query' Revision='1000'> 
    <Query> 
    <Context> 
     <QueryText language='en-US' type='MSSQLFT'> 
     SELECT 
      Title,Path,Description,Write,Rank,Size,DateStart,DateEnd,EventCategory,GroupOnly 
     FROM 
      SCOPE() 
     WHERE 
      (DateStart&gt;='2014-09-28T00:00:00Z' AND DateStart&lt;='2014-11-09T23:59:59Z') AND 
      EventCategory='Conference &amp; Events' AND 
      GroupOnly=false AND 
      ("SCOPE"='Sales Marketing & Excellence Events') 
     </QueryText> 
    </Context> 
    <IncludeSpecialTermResults>true</IncludeSpecialTermResults> 
    </Query> 
</QueryPacket> 

eventCat 모든 같은 몇 가지 다른 값을 가지고,하지만 난 위의 쿼리를 보낼 때, SharePoint에서 오류를 반환 할 때 예상대로이 작동 : An error occurred while parsing EntityName합니다.

나는 다양한 대안으로 앰퍼샌드를 대체하려고 노력했지만 아무 것도하지 않았습니다. 보낼 올바른 형식은 무엇입니까?

답변

0

나는 그것을 알아 냈다. 나는이 질문에 <[CDATA[을 추가했다.

<QueryPacket xmlns='urn:Microsoft.Search.Query' Revision='1000'> 
    <Query> 
    <Context> 
     <QueryText language='en-US' type='MSSQLFT'><[CDATA[ 
     SELECT 
      Title,Path,Description,Write,Rank,Size,DateStart,DateEnd,EventCategory,GroupOnly 
     FROM 
      SCOPE() 
     WHERE 
      (DateStart>='2014-09-28T00:00:00Z' AND DateStart<='2014-11-09T23:59:59Z') AND 
      EventCategory='Conference & Events' AND 
      GroupOnly=false AND 
      ("SCOPE"='Sales Marketing & Excellence Events') 
     ]]></QueryText> 
    </Context> 
    <IncludeSpecialTermResults>true</IncludeSpecialTermResults> 
    </Query> 
</QueryPacket>