2012-07-05 2 views
3

나는 ms crm 2011 엔터티의 값을 retieve하기 위해 fetch xml을 사용하고 있습니다. 는 INVALID XML 오류, 샘플 XML이 아래에 주어진다 발생 :Crm 2011 XMl 가져 오기 - 잘못된 XML 문제, 해결 방법?

<value>Do you want to subscribe to 1 & 2?</value> 

: 내가 1과 2 사이의 & 기호가 원인을 찾아 문제를 invistigating하여

<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='true'> 
    <entity name='xyz_registrationanswer'> 
     <attribute name='xyz_registrationid' /> 
     <attribute name='xyz_name' /> 
     <filter type='and'> 
      <condition attribute='xyz_name' operator='in' > 
       <value>Do you want to subscribe to 1 & 2?</value>   
      </condition> 
     </filter> <order attribute='xyz_name' descending='false' /> 
    </entity> 
</fetch> 

1- 누가이 문제를 해결할 수있는 방법을 알려 줄 수 있습니까?

2 내가 처리 할 수 ​​있도록 다른 불법 문자가 무엇입니까?

감사합니다.

답변

5

엔티티로 인코딩해야하는 XML에 "불법"문자가 다섯 개 있습니다.

<으로 & lt;
>으로 & gt;
'으로 &apos;
"으로 & ";
&으로 & amp;

무엇입니까 HttpUtility.HtmlEncode() 무엇입니까 효과적으로.

움라우트 문자와 같이 HTML로 인코딩 할 때는 인코딩해야하지만 다른 유니 코드 XML의 경우에는 반드시 5 가지만 처리해야합니다.

2

부분 신뢰 환경에서 HttpUtility가 지원되지 않기 때문에 HttpUtility.HtmlEncode()과 반대로 실제로는 System.Net.WebUtility.HtmlEncode()을 사용합니다. 즉, CRM Online의 샌드 박스 플러그인입니다.

@GCATNIM은 두 가지 방법 모두에서 다루는 "불법 문자"를 정확하게 언급합니다.

관련 문제