【问题标题】:LINQ to XML how to update values [duplicate]LINQ to XML如何更新值[重复]
【发布时间】:2012-07-24 20:45:13
【问题描述】:

可能重复:
LINQ TO XML, How to replace values with new values c#

<BasicImport xmlns="http://www.uk.nds.com/SSR/XTI/Traffic/0010" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.uk.nds.com/SSR/XTI/Traffic/0010 0010.xsd" utcOffset="+05:30" frameRate="25">
  <SiEventSchedule deleteStart="2012/01/21 00:00:00" deleteEnd="2012/01/21 23:59:59">
    <siService>Saman</siService>
    <playoutSource>Saman</playoutSource>
    <activationSourceId>0</activationSourceId>
    <CaSchedule deleteStart="2012/01/21 00:00:00" deleteEnd="2012/01/21 23:59:59" />
    <SiEvent>
      <displayDateTime>2012/01/21 00:00:00</displayDateTime>
      <activationDateTime>2012/01/21 00:00:00</activationDateTime>
      <displayDuration>00:30:00</displayDuration>
      <siTrafficKey> 056049263</siTrafficKey>
      <detailKey>056049263 2012-07-12</detailKey>
     </SiEvent>
   </SiEventSchedule>
<BasicImport>

我只想替换&lt;displayDateTime&gt; 节点的日期值。请注意,我不想更改此节点的时间值... 请在 C# 代码中提供帮助

【问题讨论】:

  • 你有没有尝试过这个?如果您有一个代码示例正在尝试执行您想要的操作,并且您可以指出代码以何种方式不起作用,那么提供帮助会容易得多。
  • 你为什么发了两次same questionJon Skeet's answer 有什么问题?你不喜欢什么?
  • 它正在替换完整的节点值。我只想更新日期值...
  • 所以您不想表现出任何努力并期望为您编写完整的代码?
  • 所以人们不太喜欢那种类型的 cmets,但我认为这是一个正确的时间:见 this site

标签: c# xml linq


【解决方案1】:

其中一个 DateTime 构造函数采用 Year、Month、Day、Hour、Minute、Second。因此,给定 OldDate,您可以使用

创建一个新日期

new DateTime( newYear, newMonth, newDay, OldHour, OldMinute, OldSecond)

【讨论】:

    【解决方案2】:
    var node = XElement.Load("LoadFrom");
                    var TheNodeToChange = trayNode.Descendants("displayDateTime").First();
                    var oldDateTime = DateTime.Parse(TheNodeToChange.Value);
                    var newDateTime = oldDateTime;//.DoSomething();
                    TheNodeToChange.Value = newDateTime.ToString();
    

    【讨论】:

    • 这似乎不适用于命名空间定义...?
    • 我知道,但问题已经结束,所以我看不出有什么理由改变这个:)
    • 确实 - Jon Skeet 在原版上发布了完整的答案。
    • 我知道我是后来才看到的……
    • 但我认为他不知道如何获取旧值并解析它......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多