这是我的XML文件
<Customer>
<PrivateCustomer>
<Adresse>USA</Adresse>
<Phone>12345678</Phone>
<Name>Zaghi</Name>
<Age>20</Age>
<Sex>Man</Sex>
</PrivateCustomer>
<PrivateCustomer>
<Adresse>USA</Adresse>
<Phone>12345678</Phone>
<Name>John</Name>
<Age>22</Age>
<Sex>Woman</Sex>
</PrivateCustomer>
</Customer>
我不希望有重复的电话号码。当我在文本框中输入电话号码时,我希望它检查号码是否已存在或不存在。如果存在则应该出现错误。
以下是我的C#代码的一小部分:
XDocument doc = new XDocument();
doc = XDocument.Load("PrivateCustomer.xml");
var NumberExist = doc.Descendants("PrivateCustomer").Where(x => !x.Elements("Phone").Any());
if (NumberExist != null)
{
MessageBox.Show("Number already exist");
}
答案 0 :(得分:1)
您可以使用Any
方法:
XDocument doc = XDocument.Load("PrivateCustomer.xml");
var NumberExist = doc.Descendants("PrivateCustomer")
.Any(x => (string)x.Element("Phone") == textBox1.Text);
if(NumberExist)
{
MessageBox.Show("Number already exist");
}
如果所有PrivateCustomers
至少有一个Phone
,则您的查询将始终返回 null 。使用带有{{1}的条件并检查是否存在具有给定电话号码的Any
。