我如何使用组合框从xml文件中获取所需信息到列表框?

时间:2019-04-06 18:09:25

标签: c# xml wpf

我正在尝试创建该程序,以便该团队从xml文件获取曲棍球运动员的姓名。选择应该通过从组合框中选择团队来完成。 joukkuenimi是xml文件中的团队。到目前为止,我可以从xml文件中获取球员,但是我不知道如何在代码中指定球队。

  public MainWindow()
        {
            InitializeComponent();

            cmbJoukkueet.Items.Add("saipa");
            cmbJoukkueet.Items.Add("sport");

        }
        XmlReader lukija = XmlReader.Create("SMLiiga.xml");
        private void cmbJoukkueet_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            lstPelaajat.Items.Clear();





            if (cmbJoukkueet.SelectedIndex == 1)
            {


                joukkueenPelaajatListaLaatikkoon();


            }
             else if (cmbJoukkueet.SelectedIndex == 0)
            {


                joukkueenPelaajatListaLaatikkoonn();


            }

            lukija.Close();
            lukija = XmlReader.Create("SMLiiga.xml");
        }

        void joukkueenPelaajatListaLaatikkoon()
        {

            while (lukija.Read())
            {
                if ((lukija.NodeType == XmlNodeType.EndElement && lukija.Name == "Joukkue"))
                {
                   break; 
                }

                if (lukija.Name == "sukunimi" && lukija.NodeType == XmlNodeType.Element)
                {
                    lukija.Read();
                    lstPelaajat.Items.Add(lukija.Value);
                }
            }
        }

        void joukkueenPelaajatListaLaatikkoonn()
        {

            while (lukija.Read())
            {
                if ((lukija.NodeType == XmlNodeType.EndElement && lukija.Name == "Joukkue"))
                {
                    break; 
                }

                if (lukija.Name == "sukunimi" && lukija.NodeType == XmlNodeType.Element)
                {
                    lukija.Read();
                    lstPelaajat.Items.Add(lukija.Value);
                }
            }
        }
    }
}

 <Joukkue>
     <joukkuenimi>Saipa</joukkuenimi>
     <Pelaajat>
     <Pelaaja>
        <sukunimi>Torikka</sukunimi>
        <pelNro>2</pelNro>
     </Pelaaja>

我认为可以通过在cmbJoukkueet.Items中添加“”来实现,但不能。

1 个答案:

答案 0 :(得分:0)

实际上,我设法自己解决了任务。花了我几个小时,但是做到了,现在我为这种混乱的代码感到ham愧。