使用 LINQ 检查是否存在 XML 元素
本文关键字:XML 元素 存在 是否 LINQ 检查 使用 | 更新日期: 2023-09-27 18:32:55
我正在将XML文档解析为c#项目,以检查是否存在名为"Feature"的元素。在 c# 中,我使用 Feature 元素中存在的内容来确定是否应该运行 if 语句。
.XML
<Projects>
<Project>
<Name>Test</Name>
<Feature>AutoDev;AutoRev</Feature>
</Project>
</Projects>
C#
var feature = (from project in XDocument.Load(xmlPath).Descendants("Project")
where project.Element("Name").Equals(Project)
select project.Element("Feature").Value).Single().Split(';');
if (names.Contains("Test"))
//then load ticket variables....
if (feature.Contains("AutoDev"))
//then do this....
现在我收到一个错误: 序列不包含任何元素
建议在加载 Feature 时使用 any 方法来检查数组中是否存在该元素。不知道如何实现这一点。
project.Element("Name").Equals(ev.PortfolioProject)
应该是
project.Element("Name").Value.Equals(ev.PortfolioProject)
^
我认为您错过了project.Element("Name")
中的.Value
试试这个:
var feature = (from project in XDocument.Load(xmlPath).Descendants("Project")
where project.Element("Name").Value.Equals(ev.PortfolioProject)
select project.Element("Feature").Value).Single().Split(';');