2012-11-21 3 views
0
  1. XML을 손상시키는 특수 문자는 무엇입니까?

예를 들어 다음 xml은 값에 특수 문자가 없으면 작동합니다. 그러나 내가 & 부호를 가지고있을 때 실패한다. 나는 CDATA 구문 (<![CDATA[CITY & COUNTY]]>)하지만 점점로 값을 래핑하는 시도 (필요한 경우)특수 문자 용 XML 형식

<Method ID="5">   
    <Field Type="Text" Name="Company" DisplayName="Company Name" FromBaseType="TRUE" > 
     <Default>Rob & Schnider Company</Default> 
    </Field> 
</Method> 

추가 정보 "CDATA가 발생한 구문 분석하는 동안 예기치 않은 파일의 끝을 선 (44), 위치 (122)."나는 SharePoint 2010을 사용하고를 문서 라이브러리의 특정 열에 대한 기본값을 설정하는 웹 서비스입니다.

+0

? 문자열 조작? 대신 XML API 중 하나를 사용하십시오. 그들은 이것을 제대로하는 방법을 알고 있습니다. –

+0

워크 플로에서 String String 동작을 사용하여 xml을 동적으로 만듭니다. 셰어 포인트 워크 플로에서 XML API를 사용하여 이동하는 방법을 잘 모릅니다. – Axiom

답변

1

사실, 특수 문자를 돌봐 기능이있다. 함수를 사용하여 값을 래핑하면됩니다.

fn-XmlEncode 

html로보기에 안전하도록 문자열을 인코딩합니다.

예이 XML을 생성하는 데 사용하는 어떤

fn-XmlEncode({WorkflowVariable:Text}) 
+0

그것도 그 한 가지 방법이긴하지만 LINQ to XML 또는 XmlDocument와 같은 XML API를 사용하여 XML을 작성하는 방법을 찾으십시오. 이러한 API의 모든 아이디어는 XML의 모든 규칙을 이해한다는 것입니다. –

0

별로 많지 않습니다. 당신의 XML에서 탈출해야하는 5 개의 문자가 있습니다.

& &amp; Ampersand sign 
' &apos; Single quote 
" &quot; Double quote 
> &gt; Greater than 
< &lt; Less than 

그냥 & &amp;로 변경, 그것은 작동합니다.

이 코드를 C# XML 라이브러리로 구문 분석하는 경우 이스케이프 시퀀스를 어떻게 처리해야 하는지를 알아야합니다. 내가 워크 플로우되는 Nintex을 사용하고 있기 때문에

http://www.rtslink.com/introductionxmlsoap.html