Ĉi tie-a rapida ekzemplo uzanta LINQ analizi kelkajn/kelkajn XML kaj akiri ĉe la sukeraĵo, Dolĉaj ecoj therein.
Ĉi tie-a la XML mi deziras analizi:
<?Xml versio="1.0" Kodanta="utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout nomo="xyzzy">
<Klapetoj>
<Klapeto TabOrder="1" TabLabel="x" SharePointContentType="" AdditionalConstraints="ac1"/>
<Klapeto TabOrder="2" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
</Klapetoj>
</PageLayout><PageLayout nomo="xyzzy2">
<Klapetoj>
<Klapeto TabOrder="100" TabLabel="x" SharePointContentType="" AdditionalConstraints="ac1"/>
<Klapeto TabOrder="101" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
<Klapeto TabOrder="103" TabLabel="z" SharePointContentType="c" AdditionalConstraints="ac3"/>
</Klapetoj>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
Mi deziras konstrui supre kelkajn klapetojn ĉe runtime de analizanta la supran. Miaj klapetoj dependas al paĝa plano. Se la nomo de mia paĝo plano estas “xyzzy2” tiam mi deziras akiri klapetojn 100, 101 Kaj 103 (La klapetoj en <PageLayout nomo=”xyzzy2”>).
Ĉi tie-a la LINQ ke faras ĝin:
Var allTabs =
De p je
XElement.Analizas(TheXmlToParse).
Elementoj("PageLayouts").
Elementoj("PageLayout")
Kie (P.Eco("Nomo").Valoro.Egaluloj("Xyzzy2"))
De m en p.Elementoj("Klapetoj").Elementoj("Klapeto")
Elektita m;Rezultoj.Teksta = ŝnuro.Senhoma;
Foreach (Var aTab en allTabs)
{
Rezultoj.Teksto =
"Klapeta Ordo: " + ATab.Eco("TabOrder").Valoro + " |" +
"Klapeta Etikedo: " + ATab.Eco("TabLabel").Valoro + " | " +
"SharePointContentType: " + ATab.Eco("SharePointContentType").Valoro + " | " +
"AdditionalConstraints: " + ATab.Eco("AdditionalConstraints").Valoro + "R";
}
En la supra, La varia “theXmlToParse” estas ŝnuro varia, Sed vi povas uzi la ŝarĝon() Metodo sur rivereto se vi ŝatas.
“Rezultoj” estas etikedo sur araneaĵa formo kaj kiam ĉi tiu kodo efektivigas, Ĝi similas tion ĉi:
Mi ne eliris kiel ordigi la rezultojn ankoraŭ, Do mi lasos ke pro tio ke estonta bloga poŝto.
</Fino>
Sekvi min sur Pepi ĉe http://www.twitter.com/pagalvin