2013-04-28 115 views
-3

我的问题是与Xml文件,看看: 这是行不通的。XML所有元素列表

IEnumerable<XElement> stepsList = doc.Elements(); 

XML文件

<OneGoal> 
<Goal>100000</Goal> 
<StepOne>ewewewe</StepOne> 
<StepTwo>wee</StepTwo> 
<StepThree>MY</StepThree> 
<StepFour>wwwww</StepFour> 
<StepFive>ddddw</StepFive> 
<StepSix>fcd</StepSix> 
<StepSeven>blblblfl</StepSeven> 
<StepEight>z dwadddddsssssssssssss</StepEight> 
<StepNine>radwds</StepNine> 
<StepTen> 
blblblblblblb 
</StepTen> 
<DateDay>18</DateDay> 
<DateMonth>7</DateMonth> 
<DateYear>2019</DateYear> 
</OneGoal> 

我想IEnumberable所有元素。早些时候所有的元素都有名字“step”。

+0

你能显示你想要的输出吗? – 2013-04-28 18:56:45

+0

第一个元素具有所有文件xml。 – MichaelS 2013-04-28 18:58:38

+0

你能告诉我们'doc'是如何创建的吗?如果它是'XDocument'类型,那么你的代码应该是有效的。 – 2013-04-28 19:01:44

回答

2

如何将您的平板xml转换为Dictionary<string,string>

var dict = XDocument.Parse(xml) 
      .Element("OneGoal") 
      .Elements() 
      .ToDictionary(e => e.Name.LocalName, e => e.Value); 

Console.WriteLine(dict["StepOne"]); 
+0

这就是它!不错的选择。 – MichaelS 2013-04-28 19:05:27

1

使用XDocument从文件加载或从字符串解析。

var stepList = doc.Descendants(); 
+0

这很好,@ L.B有更好的方法,thx! – MichaelS 2013-04-28 19:06:32