Ահա մի օրինակ է արագ օգտագործել LINQ վերլուծել որոշ XML Նամակ եւ ստանալ քաղցր է, քաղցր հատկանիշները այնտեղ.
Ահա XML Ես ուզում եմ վերլուծել:
<?XML տարբերակ = "1.0" կոդավորում = "utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout անունը = "xyzzy">
<Նոր որոնում>
<Tab TabOrder="1" TabLabel="x" SharePointContentType="a" AdditionalConstraints="ac1"/>
<Tab TabOrder="2" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
</Նոր որոնում>
</PageLayout><PageLayout name="xyzzy2">
<Նոր որոնում>
<Tab TabOrder="100" TabLabel="x" SharePointContentType="a" AdditionalConstraints="ac1"/>
<Tab TabOrder="101" TabLabel="y" SharePointContentType="b" AdditionalConstraints="ac2"/>
<Tab TabOrder="103" TabLabel="z" SharePointContentType="c" AdditionalConstraints="ac3"/>
</Նոր որոնում>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
Ես ուզում եմ կառուցել մի քանի էջանիշերն է Runtime ըստ քերականական վերլուծություն վերը. Իմ թարգմանությունը կախված մի էջ դիրքով. Եթե Իմ էջը դասավորությունը անունը է «xyzzy2", ապա ես ուզում եմ ստանալ էջանիշերն 100, 101 իսկ 103 (ի թարգմանությունը եւ <PageLayout name = "xyzzy2">).
Ահա LINQ դա այն:
եղել allTabs =
սկսած p - ին
XElement.Parse(theXmlToParse).
Elements("PageLayouts").
Elements("PageLayout")
ուր (p.Attribute("name").Value.Equals("xyzzy2"))
սկսած մ p.Elements("Tabs").Elements("Tab")
ընտրեք մ;Results.Text = string.Empty;
ԲՀԿ (էր ATAB մեջ allTabs)
{
Results.Text =
"Tab Order: " + aTab.Attribute("TabOrder").Արժեք + " |" +
"Tab Label: " + aTab.Attribute("TabLabel").Արժեք + " | " +
"SharePointContentType: " + aTab.Attribute("SharePointContentType").Արժեք + " | " +
"AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Արժեք + "\r";
}
Իսկ վերը նշված, ի փոփոխական «theXmlToParse» - ը a string փոփոխական, բայց դուք կարող եք օգտվել այդ բեռը() մեթոդը մի հոսքի, եթե Ձեզ դուր է գալիս.
«Արդյունքները" - ը պիտակի վրա վեբ ձեւով եւ երբ կոդը իրականացնում, կարծես, այս:
Ես չեմ մշակել, թե ինչպես տեսակավորելու արդյունքները դեռ, այնպես որ ես թողնում, որ ապագա օրագրում Գրառման դիտարկում.
</վերջ>
Գտեք Twitter-ում http://www.twitter.com/pagalvin