微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从XML到C#.NET进行序列化日期

<ENVELOPE>        
        <BODY>
          <IMPORTDATA>
           <REQUESTDATA>
            <TALLYMESSAGE xmlns:UDF="TallyUDF">
             <VOUCHER REMOTEID="4b6b9384" VCHKEY="4b6b9384" VCHTYPE="Payment" ACTION="Create" OBJVIEW="Accounting Voucher View">
              <DATE>20160102</DATE>
             </VOUCHER>
            </TALLYMESSAGE>
           </REQUESTDATA>
          </IMPORTDATA>
         </BODY>
</ENVELOPE>

这是xml文件,现在我想将日期序列化为.net,如01/02/2016(dd / mm / yy或mm / dd / yy格式)
我尝试了两种方法

objCompanyVouchar.VOUCHER_DATE=XmlConvert.ToDateTime(node.SelectSingleNode("DATE").InnerText)
objCompanyVouchar.VOUCHER_DATE = Convert.ToDateTime(node.SelectSingleNode("DATE").InnerText);

但是它显示了异常“字符串未被识别为有效的DateTime”.
有谁知道我该怎么解决

解决方法:

与XmlConvert无关,也不需要Convert类.

假设您知道格式为“ yyyyMMdd”,那么您需要做的是:

var date= DateTime.ParseExact(node.SelectSingleNode("DATE").InnerText,"yyyyMMdd", CultureInfo.InvariantCulture);

objCompanyVouchar.VOUCHER_DATE= date; //If VOUCHER_DATE is DateTime 
//objCompanyVouchar.VOUCHER_DATE = date.ToString(); //If VOUCHER_DATE is String 

|您可以选择所需的格式,有关更多信息,请参见ToString()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。