0

我有一个名为Beginning 的Windows 窗体中的方法,它从xml 读取名称并将它们显示在列表框中。我想将该方法移动到一个单独的类,该类只处理读取 xml 名称。这是我想移入不同班级的功能

public void readNames()
{
    string path = "runners.xml"; //path
    XDocument xDoc = XDocument.Load(path);
    foreach (XElement element in xDoc.Descendants("Name"))
    {
        myListBox.Items.Add(element.Value);
    }

}

有没有办法做到这一点?另外,我如何从我的开始表单类中调用它?

4

2 回答 2

1
public class MyXMLNamesReader
{
    public static List<string> readNames(string path)
    {
        List<string> names = new List<string>();
        XDocument xDoc = XDocument.Load(path);
        foreach (XElement element in xDoc.Descendants("Name"))
        {
            names.Add(element.Value);

        }
        return names;
    }

}

用法

List<string> names = MyXMLNamesReader.readNames("runners.xml");
foreach(string name in names)
{
   myListBox.Items.Add(name);
}
于 2012-10-26T00:27:07.640 回答
1

像这样的东西应该可以工作(未经测试)

public static class MyReaderClass
{
  public static List<string> ReadNames(string path)
  {
    var items = new List<string>();

    XDocument xDoc = XDocument.Load(path);
    foreach (XElement element in xDoc.Descendants("Name"))
    {
      items.Add(element.Value);
    }

    return items;
  }
}

然后你从你的表单中调用它:

myListBox.Items.AddRange(MyReaderClass.ReadNames("runner.xml"));
于 2012-10-26T00:24:31.920 回答