我有一个以下结构的xml文档,我试图用C#查询LINQ到xml
<recurrence>
<rule>
<firstDayOfWeek>mo</firstDayOfWeek>
<repeat>
<weekly mo="TRUE" fr="TRUE" weekFrequency="1" />
</repeat>
<repeatForever>FALSE</repeatForever>
</rule>
</recurrence>
我正在尝试查询它以确定有关xml中包含的内容以及基于此构建对象的信息。
在“重复”元素中,每天,每月或每年内元素的标题可以是每周(如样本中)。
我在选择每周元素时遇到问题。因为我不确定它会被称为每周一次,所以我试图低于
XDocument info = XDocument.Parse(source.RecurrenceData);
var data = from d in info.Descendants("recurrence").Descendants("rule").Descendants("repeat")
select d;
var element = data.Elements().First();
这始终是null。选择此元素的最简单方法是什么,无论是每日,每周,每月还是每年元素,然后确定其中可能包含或不包含的各种属性?
答案 0 :(得分:0)
我已将以下代码放在控制台应用程序中,并且该元素不为null。您确定source.RecurrenceData
是否正确?
string xml = @"<recurrence>
<rule>
<firstDayOfWeek>mo</firstDayOfWeek>
<repeat>
<weekly mo=""TRUE"" fr=""TRUE"" weekFrequency=""1"" />
</repeat>
<repeatForever>FALSE</repeatForever>
</rule>
</recurrence>";
XDocument info = XDocument.Parse(xml);
var data = from d in info.Descendants("recurrence").Descendants("rule").Descendants("repeat") select d;
var element = data.Elements().First();