LINQ到XML文件
我有如下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 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;