所以,下面我做了一个代码,它在加载时按名称(Selena 和 Maria)列出了我在组合框 1 中的 2 个项目,当我选择其中一个项目时,比如说 Maria,然后单击 button1,它会用 Maria 的名字填充我的 3 个文本框,usn 和 pawd 属性值,它看起来像: 显示名称:Maria 用户名:mary26 密码:d4e5r
我对那部分代码很满意,因为它符合我的目的。
但我正在努力解决我试图弄清楚的部分代码。我创建了一个 button2,我希望当我更改显示名称、用户名或密码文本框的值并单击保存时,它会保存到 xml 文件中的正确位置,保存到 Maria,而不是保存到 Selena 或别的东西。
我已经尝试浏览了一周,并且有多种解决方案,但我找不到任何解决方案。
att.xml:
<database>
<item name="Selena" usn="sele22" pawd="fed47a"></item>
<item name="Maria" usn="mary26" pawd="d4e5r"></item>
<database>
我的项目:
private void Form3_Load(object sender, EventArgs e)
{
comboBox1.Items.Clear();
XmlTextReader reader = new XmlTextReader("att.xml");
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
{
if (reader.Name == "item")
{
comboBox1.Items.Add(reader.GetAttribute("name"));
}
}
}
reader.Close();
}
private void button1_Click(object sender, EventArgs e)
{
string secit = comboBox1.SelectedItem as string;
XmlTextReader lola = new XmlTextReader("att.xml");
while (lola.Read())
{
if (lola.NodeType == XmlNodeType.Element)
{
string poop = lola.GetAttribute("name");
if (poop == secit)
{
string username = lola.GetAttribute("usn");
string password = lola.GetAttribute("pawd");
string dispname = lola.GetAttribute("name");
textBox1.Text = dispname;
textBox2.Text = username;
textBox3.Text = password;
}
}
}
lola.Close();
}