自动填充框错误

时间:2014-06-23 13:49:56

标签: c# xml autocomplete windows-phone autocompletebox

我有一个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是一个自动完成框。)

1 个答案:

答案 0 :(得分:0)

您的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
                   };