如果有三个相同的元素,我如何选择XML元素?

时间:2010-07-05 01:21:59

标签: c# xml linq-to-xml

鉴于此XML found here

如何单独获取每个联系人项目?

例如,假设我只想获得推特:

我试过了:

return doc.XPathSelectElement("/ipb/profile/contactinformation/contact[type/text() = 'LinkedIn']/value").Value;

但这没有任何回报。有什么帮助吗?

2 个答案:

答案 0 :(得分:2)

/test/contactinfo/contact[type = 'Twitter']/address

如果不起作用,请尝试

/test/contactinfo/contact[type/text() = 'Twitter']/address

答案 1 :(得分:0)

var profile = doc.Root.Element("profile");

var contactinfo = profile.Element("contactinformation");

var contacts = from contact in contactinfo.Elements("contact")
               where (string)contact.Element("title") == "Twitter"
               select contact;

var result = (string)contacts.Single().Element("value");