0
我有帶有日期時間字段的Customer XML,但有時只有日期。我只需要日期時間字段和日期字段的結果。 (這個xml我的帽子工作多得多,並且嵌套)使用XDocument解析xml將日期轉換爲datetime
我認爲有一種更好的方式,那麼我的蠻力嘗試。
xml = "<root><date>2003-07-15T10:00:00</date><enddate>2016-02-02</enddate><startdate>2000-02-10</startdate></root>";
string result = string.Empty;
if (!string.IsNullOrWhiteSpace(xml))
{
XDocument doc = XDocument.Parse(xml);
string xml1 = doc.ToString();
Regex rgx = new Regex(@">(\d{4}-\d\d-\d\d)</");
result = rgx.Replace(xml1, ">$1T00:00:00</");
}
XML是如何生成的?你有任何控制權?你提到XDocument和Linq-to-xml - 你是如何生成它的? – simonalexander2005
同意。如果可能的話,修復XML是解決此問題的正確方法,而不是編寫代碼來解決無效文檔。試圖修復不一致的數據通常會導致意大利麪代碼和令人頭痛的問題(例如,當其他日期格式在XML中結束時,因爲擁有的開發人員不遵循約定)。 – DVK
沒有必要修復,不應該修復。您需要時區來防止錯誤。沒有時區,你會得到錯誤的日期。只需閱讀日期並解析爲DateTime對象,該對象將日期轉換爲正確的實際日期。 – jdweng