【问题标题】:Transfer data from C# Class to XML File将数据从 C# 类传输到 XML 文件
【发布时间】:2020-02-20 12:15:19
【问题描述】:

我想将包含 DateTime 字符串的变量传输到 XML 文件。有什么方法可以从 XML 文件中的 C# 类访问数据。

这是我的 C# 代码:

DateTime dt = DateTime.Today.AddHours(17);
string datetime = dt.ToString("yyyy-MM-ddTHH:mm:ss");

这是我需要访问此数据字符串的 XML 代码:

<ProductLastModifiedDate>2020-02-21T09:00:00+05:30</ProductLastModifiedDate>

在上面的 XML 代码中,我想设置从 C# 类文件中检索的 dateTime。

【问题讨论】:

    标签: c# asp.net xml datetime


    【解决方案1】:

    使用 xml linq:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Xml;
    using System.Xml.Linq;
    namespace XML
    {
        class Program
        {
            const string FILENAME = @"c:\temp\test.xml";
            static void Main(string[] args)
            {
                DateTime dt = DateTime.Today.AddHours(17);
                string datetime = dt.ToString("yyyy-MM-ddTHH:mm:ss");
    
                XDocument doc = XDocument.Load(FILENAME);
    
                XElement date = doc.Descendants("ProductLastModifiedDate").FirstOrDefault();
                date.SetValue(datetime);
                doc.Save(FILENAME);
    
            }
        }
    }
    

    【讨论】:

      【解决方案2】:

      另一种方法是使用XmlDocument

      DateTime dt = DateTime.Today.AddHours(17);
      string datetime = dt.ToString("yyyy-MM-ddTHH:mm:ss");
      
      var xmlDoc = new XmlDocument();
      xmlDoc.Load(filePath);
      xmlDoc.SelectSingleNode("ProductLastModifiedDate").InnerText = datetime;            
      xmlDoc.Save(filePath);
      

      输出

      <ProductLastModifiedDate>2020-02-20T17:00:00</ProductLastModifiedDate>
      

      【讨论】: