请教Linq

leon51 2019-12-15 03:43:23
请问如何用Linq取出下面所有LAYER_POSITION等于"Outer Layer"的“OVERALL_THICKNESS”和“MIN_TRACE_WIDTH”的值,谢谢!

	<COPPER_LAYERS>
<COPPER_LAYER NAME="L1"
OVERALL_THICKNESS="1.815655396"
MIN_TRACE_WIDTH="5"
LAYER_POSITION="Outer Layer"
>
<ACCESSORIES>
</ACCESSORIES>
<APPROVALS>
</APPROVALS>
<MASK_LAYER>
<REF
NAME="sc"
/>
<REF
NAME="lc"
/>
</MASK_LAYER>
</COPPER_LAYER>
<COPPER_LAYER NAME="L2"
OVERALL_THICKNESS="1.2"
MIN_TRACE_WIDTH="0"
LAYER_POSITION="Inner Layer"
>
<ACCESSORIES>
</ACCESSORIES>
<APPROVALS>
</APPROVALS>
<MASK_LAYER>
</MASK_LAYER>
</COPPER_LAYER>
<COPPER_LAYER NAME="L3"
OVERALL_THICKNESS="1.2"
MIN_TRACE_WIDTH="6"
LAYER_POSITION="Inner Layer"
>
<ACCESSORIES>
</ACCESSORIES>
<APPROVALS>
</APPROVALS>
<MASK_LAYER>
</MASK_LAYER>
</COPPER_LAYER>
<COPPER_LAYER NAME="L4"
OVERALL_THICKNESS="1.815655396"
MIN_TRACE_WIDTH="0"
LAYER_POSITION="Outer Layer"
>
<ACCESSORIES>
</ACCESSORIES>
<APPROVALS>
</APPROVALS>
<MASK_LAYER>
<REF
NAME="ss"
/>
<REF
NAME="ls"
/>
</MASK_LAYER>
</COPPER_LAYER>
</COPPER_LAYERS>



...全文
65 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
github_36000833 2019-12-15
  • 打赏
  • 举报
回复
var root = XElement.Parse(xml);
var selections = root.Elements().Where(x => x.Attribute("LAYER_POSITION")?.Value == "Outer Layer");
foreach(var selected in selections)
{
    Console.WriteLine("{0} {1}", selected.Attribute("OVERALL_THICKNESS")?.Value, selected.Attribute("MIN_TRACE_WIDTH")?.Value);
}

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧