単純なXMLファイルがあり、そこから2つの要素の内部テキストを抽出し、それらをListViewの2列にテキストをリストするメソッドに渡す必要があります。1つの要素からテキストを抽出するように機能していますが、2番目の列に2番目の要素のデータを入力する方法を理解するのに苦労しています。
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を構築する2番目の形式の方法:
public void buildProjectList(string project)
{
ListViewItem projItem = new ListViewItem(project);
// projItem.SubItems.Add("--");
listView1.Items.Add(projItem);
}
誰かが私がこれを達成する方法を教えてもらえますか?2番目の形式のメソッドに要素の1つ(xname)のみを渡していることがわかります。しかし、どうすればもう一方を渡すことができますか?別のforeachがありますか?私ができる必要があるのは、xname変数とxtype変数の両方を2番目の形式のメソッドに渡すことですが、それを行うための最良の方法がわかりません。