C# 如何从XML中读取数据并在C中的文本框中显示它们

C# 如何从XML中读取数据并在C中的文本框中显示它们,c#,xml,C#,Xml,这是我的XML文件,我想在文本框中输入ID,并将其他数据输入其他文本框 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> <Users> <User Name="aa" Occupation="dd" Date_Of_Birth="123456" NIC="123123" ID="79461" /> <User Name="Ali Rasheed" Occupation="Student

这是我的XML文件,我想在文本框中输入ID,并将其他数据输入其他文本框

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<Users>
<User Name="aa" Occupation="dd" Date_Of_Birth="123456" NIC="123123" 
ID="79461" />
<User Name="Ali Rasheed" Occupation="Student" Date_Of_Birth="111694" NIC="4550246607037" ID="12661" />
  <User Name="Asif Rasheed" Occupation="Civil Engineer" Date_Of_Birth="241190" NIC="4550346603073" ID="90939" />
  <User Name="Sadaf Sohail" Occupation="Teacher" Date_Of_Birth="112233" NIC="445566677999" ID="72508" />
  <User Name="Shahnaz Bano" Occupation="Retired Principle" Date_Of_Birth="223311" NIC="454564974149" ID="65199" />
  <User Name="Alex" Occupation="Programmer" Date_Of_Birth="111694" NIC="45522002211447" ID="44534" />
</Users>
这是我的密码

var data = XElement.Load(@"C:\GenesisSolutionsCRMSBuild12101\XMLDatabase.xml").Descendants("User");
foreach (var textbox in Controls.OfType<TextBox>())
{
    var value = data.FirstOrDefault(v => v.Attribute("ID").Value == textbox.Name.Replace("txt", "").ToLower());
    if (value != null)
    {
        textBox1.Text = value.Attribute("Name").Value;
        textBox2.Text = value.Attribute("Occupation").Value;
        textBox3.Text = value.Attribute("Date_Of_Birth").Value;
        textBox4.Text = value.Attribute("NIC").Value;
    }
}

不需要在所有控件上循环。只需从ID文本框中读取Text属性即可:

var data = XElement.Load(@"C:\GenesisSolutionsCRMSBuild12101\XMLDatabase.xml")
                   .Descendants("User");

// Get the ID the user entered
string id = idTextBox.Text;

var user = data.FirstOrDefault(v => v.Attribute("ID").Value == id);
if (user != null)
{
    textBox1.Text = user.Attribute("Name").Value;
    textBox2.Text = user.Attribute("Occupation").Value;
    textBox3.Text = user.Attribute("Date_Of_Birth").Value;
    textBox4.Text = user.Attribute("NIC").Value;
}

您可能想考虑将TeXBOXN重命名为更有用的东西,如NATMEXBOX.

,应该是什么,有什么问题吗?我想读取这个XML文件并将这些属性显示到文本框中。例如,我在文本框12661中输入ID,所以其他文本框中的其他属性,如name occupation dateofbirth和nic有什么问题?你在问什么?这段代码的作用是什么?您在寻找什么答案?我想将ID 12661的属性显示到我理解的其他文本框中,如Textbox1 2 3 4。目前还不清楚您当前在使用此代码时遇到了什么问题。不管怎样,看看我的答案,猜猜看。。。