0
本月我開始學習C#,並且正在創建一個程序來解析XML文件並獲取一些數據。 .xml文件是:檢查在foreach循環之前/期間是否存在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>
我下面的代碼,從元素「名稱」和「類型」得到的值,從「符號」。但是我需要檢查每個「Symbol」中是否存在元素「Properties」,因爲如您所見,會有一些(如第一個「Symbol」)沒有「Properties」元素。 如果存在,我會從這個例子中得到值:「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);
}
預先感謝您^^
完美,非常感謝! –