我已经像这样设置了 XML
<customers>
<customer id="1">
<name title="Mr" first="John" last="Smith" />
<contact number="07123123123" email="john.smith@johnsmith.com" />
<address postcode="E1 1EW">1 Paper Street, London, England, GB</address>
</customer>
(...)
</customers>
我正在尝试使用 Linq to XML 查询它以用于学习目的。到目前为止,我可以很好地 XDocument.Load 文件并添加/删除等。但我似乎无法找到一种方法来查询我的 XML 文档以在 if 块中使用。例如类似(伪代码):
XDocument document = XDocument.Load("People.xml");
if(
exists(
document.customers.customer.name.first.value("john")
&& document.customers.customer.name.last.value("smith")
)
)
{
bool exists = true;
}
无论我尝试什么,编译器要么嘲笑我,要么吐出一些关于它如何不能将 Ienumerable bool 隐式转换为 bool 的东西。
一段时间以来,我一直在尝试来自许多不同谷歌搜索的事物的多种组合,我认为猜测开始弊大于利,任何人都可以提供一个可以在我的 xml 设置的 if 块中工作的 C# 片段吗?只是看看名字和姓氏是否一起存在于同一个节点中。通常,一旦我看到某些东西确实有效,我就可以从那里拿走它。我在网上找到的大多数问题都只是搜索整个节点是否存在或只搜索一个属性,我似乎无法对其进行定制。
(在有人对我的 XML 结构起火之前,这不是出于生产目的,我只是想掌握如何使用它,以防我需要在即将进行的项目中使用它。)
对于任何可以链接任何非 MSDN 文档的人(我已经打开了大约 10 个选项卡)并涉及一些关于 Linq to XML 的良好低级/初学者教程的人,都是额外的爱。