我有一个简单的 XML 文件,我需要从中提取 2 个元素的内部文本并将它们传递给在 ListView 的 2 列中列出文本的方法。我让它工作,以便它从元素 1 中提取文本,但我很难理解如何让它用来自第二个元素的数据填充第二列。
XML 文件:
<?xml version="1.0"?>
<Projects>
<Project>
<ProjectName>Test project1</ProjectName>
<ProjectType>MSWORD</ProjectType>
</Project>
<Project>
<ProjectName>MyNewProject</ProjectName>
<ProjectType>SGML</ProjectType>
</Project>
<Project>
<ProjectName>NewProject3</ProjectName>
<ProjectType>XML</ProjectType>
</Project>
<Project>
<ProjectName>Jake'sProject</ProjectName>
<ProjectType>SGML</ProjectType>
</Project>
<Project>
<ProjectName>P3_test</ProjectName>
<ProjectType>SGML</ProjectType>
</Project>
</Projects>
加载和提取元素的方法:
private void openProjectToolStripMenuItem_Click(object sender, EventArgs e)
{
Projects myProjects = new Projects(this);
myProjects.Show(); //displays the Form 2 (called Projects)
XmlDocument xdoc = new XmlDocument();
xdoc.Load("O:\\TestDaws\\projects.xml");
string projList = "/Projects/Project";
XmlNodeList xname = xdoc.SelectNodes(projList + "/ProjectName");
XmlNodeList xtype = xdoc.SelectNodes(projList + "/ProjectType");
foreach (XmlNode xNodeName in xname)
{
myProjects.buildProjectList(xNodeName.InnerText.ToString());
}
}
最后是我构建listView的第二种形式的方法:
public void buildProjectList(string project)
{
ListViewItem projItem = new ListViewItem(project);
// projItem.SubItems.Add("--");
listView1.Items.Add(projItem);
}
谁能告诉我我是如何做到这一点的?我可以看到我只是将其中一个元素(xname)传递给第二种形式的方法。但是我如何传递另一个?有单独的 foreach 吗?我需要做的是将 xname 和 xtype 变量都传递给第二种形式的方法,但我不知道最好的方法。