我这个月开始学习 C#,我正在创建一个程序来解析 XML 文件并获取一些数据。.xml 文件是:
<Info>
<Symbols>
<Symbol>
<Name>Name</Name>
<Type>INT</Type>
</Symbol>
<Symbol>
<Name>Name</Name>
<Type>INT</Type>
<Properties>
<Property>
<Name>TAG</Name>
</Property>
</Properties>
</Symbol>
</Symbols>
</Info>
我下面的代码从“符号”中获取元素“名称”和“类型”的值。但我需要检查每个“符号”中是否存在元素“属性”,因为如您所见,会有一些(如第一个“符号”)没有“属性”元素。如果存在,我将从 中获取值,在本例中为:“TAG”。有没有一种简单的方法可以让 foreach 仅在存在时才尝试获取它?!
var symbols = from symbol in RepDoc.Element("Info").Element("Symbols").Descendants("Symbol")
select new
{
VarName = symbol.Element("Name").Value,
VarType = symbol.Element("Type").Value,
};
foreach (var symbol in symbols)
{
Console.WriteLine("" symbol.VarName + "\t" + symbol.VarType);
}
提前谢谢你^^