c# - XML根据时间戳删除节点C#

标签 c# xml linq timestamp

我需要有关如何根据时间戳“自动”删除节点的帮助。特定日期由用户在 xml 文档中定义,例如17/9/2006 有人可以给我举个例子吗? 提前致谢!

   <root>
    <element>
    </element>
    <timestamp time="2016-09-16T13:45:30">
    </timestamp>
    <--how do I delete element based on the given timestamp?-->
    </root>

  //UNTESTED CODE

     XDocument doc = XDocument.Load("time.xml");
     var name = doc.Descendants("root")
        .Where(n => n.Attribute("time").Value == "2016-09-16T13:45:30")
        .Select(n => (string)n) 
        .First(); 
      <--how can I delete it based on timestamp-->
         name.Element("element").Remove();

最佳答案

解析 ISO 8601 日期/时间格式:

string input = "2016-09-16T13:45:30";
DateTime converted = DateTime.Parse(input, null, DateTimeStyles.RoundtripKind);

一旦日期转换为 DateTime 类型,您就可以使用它来识别您希望删除的节点(强烈建议为此使用 LinQ)。

关于c# - XML根据时间戳删除节点C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39508178/

相关文章:

.net - 如何使用 linq to sql 外部映射延迟加载属性?

c# - 为什么此 Linq 查询对 Count() 返回 0?

c# - 在 C# 中使用转换后的指针值的引用返回可以吗?

C# 最佳实践 : Centralised event controller or not

xml - XSD:具有相同元素名称的多种类型

xml - 在 RDF/XML 中引用类

c# - IEnumerable 和 LINQ 上的未知行为

c# - WPF MVVM : TextBox needing format and Button with IsDefault set to True

c# - 何时使用包含引用类型的值类型数组而不是引用类型数组?

spring-batch - 使用 MultiResourceItemReader Spring 批处理获取当前资源名称