【发布时间】:2014-11-29 23:36:16
【问题描述】:
我正在尝试掌握 Linq to XML - 来自 MSXML。我想在以下 XML 中循环包含在“根”中的所有元素,返回元素名称和每个属性的值。
XML:
<Root>
<April Target="55" Forecast="30" Result="30"/>
<May Target="98" Forecast="67" Result="84"/>
<June Target="133" Forecast="109" Result="119"/>
<July Target="183" Forecast="146" Result="150"/>
<August Target="239" Forecast="182" Result="188"/>
<September Target="278" Forecast="211" Result="217"/>
<October Target="320" Forecast="251" Result="489"/>
<November Target="372" Forecast="281" Result="489"/>
<December Target="386" Forecast="324" Result="489"/>
<January Target="420" Forecast="352" Result="489"/>
<February Target="464" Forecast="384" Result="489"/>
<March Target="524" Forecast="445" Result="489"/>
</Root>
例如,对于循环的每次迭代,我希望能够填充以下变量:
MonthName = Taken from the element name
Target = Taken from the attribute value
Forecast = Taken from the attribute value
Result = Taken from the attribute value
我已设法按如下方式加载文档:
Dim xDoc As New XDocument
xDoc = XDocument.Load("C:\Users\Major\Documents\Visual Studio 2013\Dashboard\XML\YTD - Copy.xml")
但我能找到的所有代码都与获取具有特定名称的元素有关,我想在其中循环 Root 的所有子项
【问题讨论】:
-
使用
xDoc.Elements("Root").Elements()即可,如果不需要特定名称,则无需指定名称。没有发布作为答案,因为我对 VB.NET 的了解不足以编写任何好的示例代码。