Tässä on nopea esimerkki käyttäen LINQ jäsentää joitakin XML ja saada makea, Sweet ominaisuudet siinä.
Tässä on haluan jäsentää XML:
<?XML-versio = "1.0" koodaus = "utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout nimi = "xyzzy">
<Välilehdet>
<Välilehti sarkainjärjestys = "1" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
<Välilehti sarkainjärjestys = "2" TabLabel = "k" SharePointContentType = "b" AdditionalConstraints = "ac2" />
</Välilehdet>
</PageLayout><PageLayout nimi = "xyzzy2">
<Välilehdet>
<Välilehti sarkainjärjestys = "100" TabLabel = "x" SharePointContentType = "" AdditionalConstraints = "ac1" />
<Välilehti sarkainjärjestys = "101" TabLabel = "k" SharePointContentType = "b" AdditionalConstraints = "ac2" />
<Välilehti sarkainjärjestys = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
</Välilehdet>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
Haluan rakentaa joitakin välilehtiä suorituksen jäsentämällä edellä. Välilehtiäni riippuvat sivun asettelu. Jos sivun asettelun nimi on "xyzzy2" halua panna tabs 100, 101 ja 103 (välilehtien asetukset <PageLayout nimi = "xyzzy2">).
Tässä on LINQ, että se:
var allTabs =
Alkaen p
XElement.Parse(theXmlToParse).
Elementit("PageLayouts").
Elementit("PageLayout")
Jos (p.Attribute("nimi").Value.Equals("xyzzy2"))
m p.Elements("Välilehdet").Elementit("Välilehti")
Valitse m;Results.Text = merkkijono.Tyhjä;
foreach (var aTab allTabs)
{
Results.Text =
"Välilehti tilaa: " + aTab.Attribute("Sarkainjärjestys").Arvo + " |" +
"Välilehti-otsikko: " + aTab.Attribute("TabLabel").Arvo + " | " +
"SharePointContentType: " + aTab.Attribute("SharePointContentType").Arvo + " | " +
"AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Arvo + "r";
}
Edellä, muuttuja "theXmlToParse" on merkkijonomuuttuja, mutta voit käyttää kuorman() Jos haluat stream-menetelmä.
"Tulokset" on merkintä verkkolomakkeen ja kun tämä koodi suoritetaan, se näyttää tältä:
En ole laatinut miten lajitella tulokset vielä, joten jätän että tulevaisuuden blogi.
</loppu>
Noudata minut viserrys http://www.twitter.com/pagalvin