2017-09-14 63 views
0

我有一個Script functoid到我的BizTalk映射,它使用C#並創建DateTime值,我想將它設置爲結果模式的「date」字段。該字段的類型爲「XS:日期」如何使用BizTalk映射將.NET的DateTime值設置爲XML的日期字段?

Functoid的代碼:

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; 
} 

當我測試的地圖,我得到一個錯誤

「‘日期’元素是無效的 - 值'2017-06-19T00:00:00'是 根據其數據類型無效 'http://www.w3.org/2001/XMLSchema:date' - 字符串 '2017-06-19T00:00:00'不是有效的日期值。

我該如何解決這個問題?

+0

返回一個字符串:'result.ToString(「yyyy-MM-dd」);'?雖然我不明白爲什麼你有一個有效的字符串,將它映射到日期時間,然後想知道如何處理添加的時間... – oerkelens

+0

起初我試圖直接使用初始字符串,但看起來像我錯過了一些東西。現在它工作正確。謝謝 – Vitaliy

回答

0

您的過程不正確。但它很容易解決。

您需要使用TryParseExact()將字符串格式轉換爲有效的DataTime實例。

然後,您使用ToString()和「o」Format String發出xs:date兼容字符串。

相關問題