下面是我的示例 XML 文件:-
我只想在 C# 中使用 LINQ to XML 将日期值替换为当前日期。
<?xml version="1.0" encoding="UTF-8"?>
<BasicImport xmlns="http://www.uk.SSp.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>Ssp</siService>
<playoutSource>Ssp</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>
最佳答案
哪些日期值? 全部?具体要素?例如,这会将所有 displayDateTime
元素替换为当前日期 - 采用标准 XML 格式,不是您的源 XML 包含的内容...如果您想要不同的格式,您应该使用 DateTime.ToString
并将元素的内容替换为相关文本。
using System;
using System.Linq;
using System.Xml.Linq;
class Test
{
static void Main()
{
XNamespace ns = "http://www.uk.ssp.com/SSR/XTI/Traffic/0010";
XDocument doc = XDocument.Load("ssp.xml");
var elements = doc.Descendants(ns + "displayDateTime")
.ToList();
var today = DateTime.Today;
foreach (var element in elements)
{
element.ReplaceAll(today);
}
Console.WriteLine(doc);
}
}
关于c# - LINQ TO XML,如何用新值替换值 c#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11637263/