Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在文本框C中显示从Combobox中选择的XML数据_C#_Xml_Visual Studio - Fatal编程技术网

C# 在文本框C中显示从Combobox中选择的XML数据

C# 在文本框C中显示从Combobox中选择的XML数据,c#,xml,visual-studio,C#,Xml,Visual Studio,您好,我正在学习C,我正在尝试在组合框中选择User1.xml中的xml信息后,将其显示在同一表单的文本框中 我已使用此代码成功地用名称标记填充组合框。以便可以选择用户名 private void Form1_Load(object sender, EventArgs e) { XmlDocument sFor = new XmlDocument(); sFor.Load(Path.GetFullPath("User1.xml")); XmlNodeList SearchLis

您好,我正在学习C,我正在尝试在组合框中选择User1.xml中的xml信息后,将其显示在同一表单的文本框中

我已使用此代码成功地用名称标记填充组合框。以便可以选择用户名

private void Form1_Load(object sender, EventArgs e)
{
   XmlDocument sFor = new XmlDocument();
   sFor.Load(Path.GetFullPath("User1.xml"));
   XmlNodeList SearchList = sFor.SelectNodes("employee/user/name");
   foreach (XmlNode Search in SearchList)
   {
      comboBox1.Items.Add(Search.InnerText);
   }

}
XML的格式是这样的

在组合框中选择后,如何使用linq或xmlreader或其他方式在textBox2中显示信息

谢谢。

如果这对您有帮助的话

XDocument doc = XDocument.Load(Path.GetFullPath("User1.xml"));

var rows = doc.Descendants("employee").Descendants("user").Select(el => new()
{
  department = el.Element("department").Value,
  manager = el.Element("manager").Value,
  hours = el.Element("hours").Value,
  leave = el.Element("leave").Value,
});
或者从这样的数据集

DataSet ds = new DataSet();
ds.ReadXmlSchema(new StreamReader("User1.xml"));
ds.ReadXml(new StreamReader("User1.xml"));

我在寻找城市的DataGridView上做了类似的事情。输入字段为Textbox1.Text。我希望这不是过分的。这要归功于Stack的海报,他们向我展示了如何做到这一点!我先提取特定数据,然后将其加载到列表中。最后,将该列表作为DGV的数据源。这可能适用于组合框…是吗

<TaxTbl>
  <TaxSite>
    <Location>Axx</Location>
    <Address>xxx</Address>
    <City>aaa</City>
    <State> st</State>
    <Zip>xxx</Zip>
  </TaxSite>
  <TaxSite>
    <Location>Bxxx</Location>
    <Address>xxx</Address>
    <City>xxx</City>
    <State> st</State>
    <Zip>xxx</Zip>
  </TaxSite>
</TaxTbl>






 var xdoc = XDocument.Load("C:\\Users\\Harley\\desktop\\outfile.xml");



var NewDoc = new XDocument(new XElement("TaxTbl",
             from anEntry in xdoc.Element("TaxTbl").Elements("TaxSite")
             where anEntry.Element("City").Value.Contains(textBox1.Text)
             select anEntry));



var MyList =
                    (from bEntry in NewDoc.Descendants("TaxSite")
                     select new
                     {
                         Location = bEntry.Element("Location").Value,
                         Address = bEntry.Element("Address").Value,
                         City = bEntry.Element("City").Value,
                         State = bEntry.Element("State").Value,
                         Zip = bEntry.Element("Zip").Value
                     }).ToList();


 cityDGV.DataSource = MyList.ToList();

是否要从XML内部或整个XML本身输出值?textBox2在哪里定义?输出与从组合框中选择的用户名相关的整个用户的信息。不确定定义是什么意思?textBox2与其他组合框和textBox的和在同一表单中初始化。同样为了澄清,我想显示单个用户的详细信息、部门、经理等。xml文档包含多个用户。我曾尝试实现此解决方案,但在第3行var rows=doc.genderantsEmployee.genderantsUser.Selectel=>new处收到一个编译器错误—在它声称的预期类型的双括号处。删除方括号可以进行编译,但不能按预期工作。我用一个组合框对此进行了检查,它确实用关联的节点标记获取了数据。呸。与前面的答案一样,您可以加载带有节点内部文本的变量,然后将其转储到组合框中。您好,我也在同一点上,我已经设法获得了将xml数据拉入类似数组的结构的代码,但我不确定如何将其重复到文本框中。如果您查看第二部分,与第一个答案类似,元素值分配给变量的位置。。。您可以将这些值作为一个字符串,并将该字符串添加到文本框输出中。或你可以把它分解成每个变量的标签,比如名字标签、地址标签、城市标签等等。我希望我的例子很容易理解。我把我创建的收费表放在一个文本框中。看起来像…textBox2.Text=MyList[0]。ToString;
<TaxTbl>
  <TaxSite>
    <Location>Axx</Location>
    <Address>xxx</Address>
    <City>aaa</City>
    <State> st</State>
    <Zip>xxx</Zip>
  </TaxSite>
  <TaxSite>
    <Location>Bxxx</Location>
    <Address>xxx</Address>
    <City>xxx</City>
    <State> st</State>
    <Zip>xxx</Zip>
  </TaxSite>
</TaxTbl>






 var xdoc = XDocument.Load("C:\\Users\\Harley\\desktop\\outfile.xml");



var NewDoc = new XDocument(new XElement("TaxTbl",
             from anEntry in xdoc.Element("TaxTbl").Elements("TaxSite")
             where anEntry.Element("City").Value.Contains(textBox1.Text)
             select anEntry));



var MyList =
                    (from bEntry in NewDoc.Descendants("TaxSite")
                     select new
                     {
                         Location = bEntry.Element("Location").Value,
                         Address = bEntry.Element("Address").Value,
                         City = bEntry.Element("City").Value,
                         State = bEntry.Element("State").Value,
                         Zip = bEntry.Element("Zip").Value
                     }).ToList();


 cityDGV.DataSource = MyList.ToList();