Villutrú 'a fljótur dæmi nota LINQ að flokka sumar XML og fá á the sætur, sætar eiginleika þar.
Hér er XML Ég vil að flokka:
<?XML útgáfa = "1,0" kóðun = "UTF-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout nafn = "xyzzy">
<Tabs>
<Flipi TabOrder = "1" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
<Flipi TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
</Tabs>
</PageLayout><PageLayout nafn = "xyzzy2">
<Tabs>
<Flipi TabOrder = "100" TabLabel = "x" SharePointContentType = "a" AdditionalConstraints = "ac1" />
<Flipi TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
<Flipi TabOrder = "103" TabLabel = "Z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
</Tabs>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
Ég vil að byggja upp smá flipa á afturkreistingur af þáttun ofan. Tabs mínir ráðast á síðu skipulag. Ef nafn síðu skipulag míns er "xyzzy2" þá vil ég fá flipa 100, 101 og 103 (flipa í <PageLayout nafn = "xyzzy2">).
Hér er LINQ sem gerir það:
var allTabs =
frá P í
XElement.Parse(theXmlToParse).
Elements("PageLayouts").
Elements("PageLayout")
þar sem (p.Attribute("Nafn").Value.Equals("Xyzzy2"))
frá m p.Elements("Tabs").Elements("Tab")
velja m;Results.Text = string.Empty;
framhandleggur (ATAB var sett allTabs)
{
Results.Text =
"Tab Panta: " + aTab.Attribute("TabOrder").Gildi + " |" +
"Tab Label: " + aTab.Attribute("TabLabel").Gildi + " | " +
"SharePointContentType: " + aTab.Attribute("SharePointContentType").Gildi + " | " +
"AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Gildi + " R";
}
Í ofan, breytan "theXmlToParse" er band breytu, en þú getur notað hlaða() aðferð á straum ef þú vilt.
"Niðurstöður" er merki um a vefur mynd og þegar þetta númer keyrir, það lítur svona út:
Ég hef ekki unnið út hvernig á að raða niðurstöðunum enn, svo ég leyfi að fyrir framtíð blogg.
</enda>
Gerast áskrifandi að bloggið mitt.
Fylgdu mér á Twitter á http://www.twitter.com/pagalvin