没有从Linq到XML的输出 [英] No output from Linq to XML
本文介绍了没有从Linq到XML的输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下代码:
protected void Page_Load(object sender, EventArgs e)
{
XElement xml = XElement.Load(Server.MapPath("ArenasMembers.xml"));
var query = from p in xml.Descendants("members")
select new
{
Name = p.Element("name").Value,
Email = p.Attribute("email").Value
};
foreach (var member in query)
{
Response.Write("Employee: " + member.Name + " " + member.Email + "<br />");
}
}
使用Visual Studio中的悬停信息可以正确读取XNL文件,但是foreach不会输出任何记录.
Which, using the hover information in Visual Studio, is reading the XNL file in correctly, however the foreach is not outputting any of the records.
XML:
<?xml version="1.0" encoding="utf-8" ?>
<members>
<member>
<arena>EAA Office</arena>
<memberid>1</memberid>
<name>Jane Doe</name>
<email>test@gmail.com</email>
</member>
<member>
<arena>EAA Office</arena>
<memberid>2</memberid>
<name>John Bull</name>
<email>jb@ehotmail.org</email>
</member>
<member>
<arena>O2 Arena</arena>
<memberid>3</memberid>
<name>John Doe</name>
<email>john.doe@o2arena.co.uk</email>
</member>
<member>
<arena>O2 Arena</arena>
<memberid>4</memberid>
<name>Bernard Cribbins</name>
<email>bernard@gmail.com</email>
</member>
<member>
<arena>Colourline Arena</arena>
<memberid>5</memberid>
<name>John Bon Jovi</name>
<email>jbj@gmail.com</email>
</member>
<member>
<arena>NIA</arena>
<memberid>6</memberid>
<name>Rhianna</name>
<email>skimpy@gmail.com</email>
</member>
</members>
您看到什么地方了吗?
推荐答案
由成员"插入尝试成员" ...
Insted of "members" try "member"...
Descendants
返回给定Element
下的所有子元素,在您的代码中,您将使用name
和email
查询members
,这将不起作用.
Descendants
returns you all the child elements under given Element
, in your code you are querying members
with name
and email
, which wont work.
示例代码:
var query = from p in xml.Descendants("member")
select new
{
Name = p.Element("name").Value,
Email = p.Element("email").Value
};
这篇关于没有从Linq到XML的输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文