如何获取XML的属性值使用LINQ to XML? [英] How to get the attribute value of xml using LINQ to XML?
本文介绍了如何获取XML的属性值使用LINQ to XML?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有以下xml模式。
< Rooms&
< Room RoomNumber =room1EMAIL =ssds@dsfd.comdsfdd =/>
< Room RoomNumber =room2EMAIL =ssds@sdd.comdsfdd =/>
< / Rooms>
我必须根据输入返回电子邮件地址p>
我如何使用LINQ to XML实现?
解决方案
var doc = XDocument.Load(myXmlFilePath);
//或doc = XDocument.Parse(myXmlString);
string roomNumber =room1;
var emailQuery = doc.Root.Elements(Room)中的房间
其中(string)room.Attribute(RoomNumber)== roomNumber
select )room.Attribute(EMAIL);
然后,使用类似的查询,您可以得到结果:
//如果总是只有一个< Room> with given roomNumber
var email = emailQuery.First();
//否则
var emails = emailQuery.ToList();
I have the following xml schema.
<Rooms>
<Room RoomNumber="room1" EMAIL="ssds@dsfd.com" dsfdd=""/>
<Room RoomNumber="room2" EMAIL="ssds@sdd.com" dsfdd=""/>
</Rooms>
I have to return Email address based on the input(input to program is room number).
How i can achieve this using LINQ to XML?
解决方案
var doc = XDocument.Load(myXmlFilePath);
// or doc = XDocument.Parse(myXmlString);
string roomNumber = "room1";
var emailQuery = from room in doc.Root.Elements("Room")
where (string)room.Attribute("RoomNumber") == roomNumber
select (string)room.Attribute("EMAIL");
Then, with a query like that you can get results:
// if there is always only one <Room> with given roomNumber
var email = emailQuery.First();
// otherwise
var emails = emailQuery.ToList();
这篇关于如何获取XML的属性值使用LINQ to XML?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文