2017-09-14 11 views
0

나는 BizTalk 매핑에 Script functoid을 가지고 있는데 C#을 사용하고 결과 스키마의 "날짜"필드로 설정하려는 DateTime 값을 만듭니다. 입력 한이 필드는 "XS를 : 날짜"BizTalk 매핑을 사용하여 .NET의 DateTime 값을 XML의 날짜 필드로 설정하는 방법은 무엇입니까?

펑 토이 드의 코드 :

public DateTime GetValue() 
{ 
    string[] dateArray = "2017-06-19".Split('-'); 
    DateTime result = new DateTime(int.Parse(dateArray[0]), int.Parse(dateArray[1]), int.Parse(dateArray[2])); 
    return result; 
} 

내가지도를 테스트 할 때 나는 오류를 얻을

는 " '날짜'요소가 무효 인 - 값 '017-06-19T00 : 00 : 00'은 'http://www.w3.org/2001/XMLSchema:date'에 따라 데이터 형식이 잘못되었습니다 - 문자열 '2017-06-19T00 : 00 : 00'이 (가) 올바른 날짜 값이 아닙니다. "

이 문제를 어떻게 해결할 수 있습니까?

+0

문자열을 반환 :'result.ToString ("yyyy-MM-dd");'? 왜 내가 올바른 문자열을 가지고 있는지 이해할 수는 없지만 DateTime에 매핑 한 다음 시간을 추가 할 때 무엇을해야하는지 궁금합니다. – oerkelens

+0

처음에는 직접 문자열을 사용하려고했으나 뭔가 놓친 것처럼 보입니다. . 이제는 제대로 작동했습니다. 고맙습니다 – Vitaliy

답변

0

귀하의 프로세스가 올바르지 않습니다. 그러나 쉽게 해결할 수 있습니다.

TryParseExact()을 사용하여 문자열 형식을 유효한 DataTime 인스턴스로 변환해야합니다.

그런 다음 ToString()과 함께 "o"Format String을 사용하여 xs : date 호환 문자열을 내 보냅니다.