Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
LINQ到XML文件_Xml_Linq - Fatal编程技术网

LINQ到XML文件

LINQ到XML文件,xml,linq,Xml,Linq,我有如下XML文件: <?xml version="1.0" encoding="utf-8" standalone="yes"?> <Table> <User> <Danik>ID15101639</Danik> <ID15101639>Danik</ID15101639> </User> <User> <Marcel>ID29101645

我有如下XML文件:

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Table>
  <User>
    <Danik>ID15101639</Danik>
    <ID15101639>Danik</ID15101639>
  </User>
  <User>
    <Marcel>ID29101645</Marcel>
    <ID29101645>Marcel</ID29101645>
  </User>
</Table>
我需要在这个文件中搜索-如果用户输入像Danik textbox1.Text这样的名字,它应该显示他的ID15101639

   private void button1_Click(object sender, EventArgs e)
        {
            jmeno = textBox1.Text;
            XElement xelement = XElement.Load("seznam.xml");
            IEnumerable<XElement> Table = xelement.Elements();
            foreach (var User in Table)
            {
                overeni = User.Element(jmeno).Value;
                textBox2.Text = overeni;
}
不幸的是,这不能正常工作。请问问题出在哪里

它在第12行显示错误-overeni=User.Elementjmeno.Value;
错误:System.Linq的using指令先前出现在此命名空间中。

您可以尝试这种方式来避免出现空引用异常:

//仅具有子元素的过滤器 //然后返回该元素 XElement用户=XElement.Elements .Whereo=>o.Elementjmeno!=无效的 .Selecto=>o.Elementjmeno .FirstOrDefault; 如果用户!=无效的 { overeni=用户值; textBox2.Text=overeni; }
它如何不能正常工作?错误?错误的结果?好问题,您可能还应该告诉issue=问题对不起-在XML文件中找不到名称。我有更改代码:private void button1\u Clickobject sender,EventArgs e{jmeno=textBox1.Text;XElement-XElement=XElement.Loadseznam.xml;IEnumerable-Table=XElement.Elements;表中的每个var用户{overeni=User.Elementjmeno.Value;textBox2.Text=overeni;当我运行代码时,它在第行显示错误-overeni=User.Elementjmeno.Value;error=System.Linq的using指令先前出现在这个名称空间中。我可能还有另一个有用的信息。如果我在代码中使用:MessageBox.Show User.Elementjmeno.Value;它确实在消息框中显示了正确的信息,但紧接着它显示了windowsformapplication.exe中发生的类型为Sysetm.NullReferenceException的未处理异常。其他信息:对象引用未设置为对象的实例。行:MessageBox.show User.Elementjmeno.Value;