自动完成框错误

本文关键字:错误 | 更新日期: 2023-09-27 18:09:50

我有一个xml文件,我想在其中搜索一个自动完成框。我使用下面的代码,但它崩溃了。我该怎么解决,还是有更好的办法?

               XDocument loadedData = XDocument.Load("BankCode.xml");
        var data = from query in loadedData.Descendants("BankCode")
                   select new BankData
                   {
                       BankName= (string)query.Element("Bank"),
                   };
        this.acBox.ItemsSource = data;
        XDocument loadedCustomData = XDocument.Load("BankCode.xml");
        var filteredData = from c in loadedCustomData.Descendants("Bank")
                           where c.Attribute("Code").Value == acBox.Text
                           select new BankData()
                           {
                               Code= c.Attribute("Code").Value
                           };
        listBox1.ItemsSource = filteredData;

我想创建一个应用程序,当用户键入银行名称在自动完成框按下搜索按钮后,银行代码已显示给他/她。(! !acBox是一个自动完成框)

自动完成框错误

似乎您的Bank节点1没有Code属性。您应该添加NULL检查:

var filteredData = from c in loadedCustomData.Descendants("Bank")
                   where c.Attribute("Code") != null && c.Attribute("Code").Value == acBox.Text
                   select new BankData()
                   {
                       Code= c.Attribute("Code").Value
                   };