using System.Collections.Generic;
public static void Main()
{ string s = @"<root><property id=""P856"">
<claim type=""statement"" id=""Q180589$D2B8F4CE-D37C-48FB-A65F-029944A1D5CC"" rank=""deprecated"">
<mainsnak snaktype=""value"" property=""P856"" hash=""1d8c440274ef60d42060ff55287f3f9c724ad601"" datatype=""url"">
<datavalue value=""http://www.boris-johnson.com"" type=""string""/>
<qualifiers snaktype=""value"" property=""P407"" hash=""daf1c4fcb58181b02dff9cc89deb084004ddae4b"" datatype=""wikibase-item"">
<datavalue type=""wikibase-entityid"">
<value entity-type=""item"" numeric-id=""1860"" id=""Q1860""/>
<property>P407</property>
<claim type=""statement"" id=""Q180589$1B022E8E-952F-4D8C-B5E2-F4509E1673C1"" rank=""normal"">
<mainsnak snaktype=""value"" property=""P648"" hash=""17a3b253e4ab9103dee25debd9b465cb0809edc6"" datatype=""external-id"">
<datavalue value=""OL1544739A"" type=""string""/>
<claim type=""statement"" id=""Q180589$974BCFDA-B8FA-490C-8AC2-E074C4B8B111"" rank=""normal"">
<mainsnak snaktype=""value"" property=""P2171"" hash=""41a60ae861cf217a63464a6d4d9caae51ae30d35"" datatype=""external-id"">
<datavalue value=""10999"" type=""string""/>
var xdoc = XDocument.Parse(s);
IEnumerable<XElement> childList =
from el in xdoc.Root.Elements().Elements()
where (string)el.Attribute("rank") != "deprecated"
foreach (XElement e in childList)