C#Linq over XML => Lambda Expression

Nat*_*han 3 c# xml linq lambda

我有一个xml文档,其中包含以下一些内容:

- <LabelFieldBO>
  <Height>23</Height> 
  <Width>100</Width> 
  <Top>32</Top> 
  <Left>128</Left> 
  <FieldName>field4</FieldName> 
  <Text>aoi_name</Text> 
  <DataColumn>aoi_name</DataColumn> 
  <FontFamily>Arial</FontFamily> 
  <FontStyle>Regular</FontStyle> 
  <FontSize>8.25</FontSize> 
  <Rotation>0</Rotation> 
  <LabelName /> 
  <LabelHeight>0</LabelHeight> 
  <LabelWidth>0</LabelWidth> 
  <BarCoded>false</BarCoded> 
  </LabelFieldBO>
Run Code Online (Sandbox Code Playgroud)

我已经找到了如何找到LabelName ='container'的元素.但我不熟悉lambda表达式,并想知道如何访问LINQ结果中的信息.Lambda表达式可能也不是一种方法.我对任何建议持开放态度.

var dimensions = from field in xml.Elements("LabelFieldBO")
                             where field.Element("LabelName").Value == "container"
                             select field;
Run Code Online (Sandbox Code Playgroud)

谢谢.

编辑:我想弄清楚的是如何从LabelName ="container"的XML中获取LabelHeight和LabelWidth

Axe*_*ger 5

以下代码创建一个新的匿名对象,其中包含标签名称,宽度和高度.

var result = doc.Elements("LabelFieldBo")
                 .Where(x => x.Element("LabelName").Value == "container")
                 .Select(x =>
                     new { 
                         Name = x.Element("LabelName").Value,
                         Height = x.Element("LabelHeight").Value,
                         Width = x.Element("LabelWidth").Value
                 }
             ); 
Run Code Online (Sandbox Code Playgroud)