Tu je rýchly príklad pomocou LINQ analyzovať niektoré XML a získať na sladké, sladké atribúty v ňom.
Tu je chcem na syntaktickú analýzu XML:
<?XML verzia = "1,0" encoding = "utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout meno = "xyzzy minového">
<Karty>
<Karta TabOrder = "1" TabLabel = "x" SharePointContentType = "_FITTED" AdditionalConstraints = "ac1" />
<Karta TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
</Karty>
</PageLayout><Názov PageLayout = "xyzzy2">
<Karty>
<Karta TabOrder = "100" TabLabel = "x" SharePointContentType = "_FITTED" AdditionalConstraints = "ac1" />
<Karta TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
<Karta TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
</Karty>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
Chcem vybudovať niektoré karty za behu analyzoval vyššie. Moje karty závisia od rozloženia strany. Ak je môj rozvrhnutie názov "xyzzy2" potom chcem zapnúť karty 100, 101 a 103 (karty v <Názov PageLayout = "xyzzy2">).
Tu je LINQ to:
var allTabs =
z p v
XElement.Parse(theXmlToParse).
Prvky("PageLayouts").
Prvky("PageLayout")
kde (p.Attribute("názov").Value.Equals("xyzzy2"))
m v p.Elements("Listy").Prvky("Tab")
Vyberte m;Results.Text = reťazec.Prázdne;
foreach (var aTab v allTabs)
{
Results.Text =
"Poradie: " + aTab.Attribute("TabOrder").Hodnota + " |" +
"Tab Label: " + aTab.Attribute("TabLabel").Hodnota + " | " +
"SharePointContentType: " + aTab.Attribute("SharePointContentType").Hodnota + " | " +
"AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Hodnota + "r";
}
Vo vyššie uvedenom, Premenná "theXmlToParse" je reťazec premenná, ale môžete použiť zaťaženie() metóda na prúd Ak sa vám páči.
"Výsledky" je štítok vo webovom formulári a keď tento kód spustí, Vyzerá to, že to:
Ešte pracoval ako triediť výsledky zatiaľ, Takže nechám, že pre budúce blogu.
</koniec>
Nasledujte ma na stebėtų na http://www.twitter.com/pagalvin