【发布时间】:2013-09-25 14:36:52
【问题描述】:
我正在将 XML 文档解析为 c# 项目,以检查是否存在名为“Feature”的元素。 在 c# 中,我使用 Feature Element 中存在的内容来确定是否应该运行 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 方法来检查元素是否存在于数组中。不知道如何实现。
【问题讨论】:
-
什么是
ev.PortfolioProject.. -
使用
SingleOrDefault()而不是Single()这样如果没有找到,您将得到一个空值,而不是异常。 -
感谢 JNYRanger,我会添加并测试。 Anirudh - ev.PortfolioProject 从应用层获取项目名称。