Berikut adalah contoh cepat menggunakan LINQ untuk mengurai beberapa XML dan dapatkan di manis, manis atribut di dalamnya.
Di sini adalah saya ingin parse XML:
<?Versi XML = "1.0" pengkodean = "utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout nama = "xyzzy">
<Tab>
<Tab TabOrder = "1" TabLabel = "x" SharePointContentType = "_FITTED" AdditionalConstraints = "ac1" />
<Tab TabOrder = "2" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
</Tab>
</PageLayout><PageLayout nama = "xyzzy2">
<Tab>
<Tab TabOrder = "100" TabLabel = "x" SharePointContentType = "_FITTED" AdditionalConstraints = "ac1" />
<Tab TabOrder = "101" TabLabel = "y" SharePointContentType = "b" AdditionalConstraints = "ac2" />
<Tab TabOrder = "103" TabLabel = "z" SharePointContentType = "c" AdditionalConstraints = "ac3" />
</Tab>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
Saya ingin membangun beberapa tab pada saat runtime oleh parsing di atas. Tab saya tergantung pada tata letak halaman. Jika nama layout halaman saya adalah "xyzzy2" maka saya ingin mendapatkan tab 100, 101 dan 103 (pada tab dalam <PageLayout nama = "xyzzy2">).
Berikut adalah LINQ yang melakukan itu:
var allTabs =
dari p dalam
XElement.Parse(theXmlToParse).
Elemen("PageLayouts").
Elemen("PageLayout")
mana (p.Attribute("nama").Value.Equals("xyzzy2"))
dari m p.Elements("Tab").Elemen("Tab")
Pilih m;Results.Text = string.Kosong;
foreach (var aTab di allTabs)
{
= Results.Text
"Tab ketertiban: " + aTab.Attribute("TabOrder").Nilai + " |" +
"Tab Label: " + aTab.Attribute("TabLabel").Nilai + " | " +
"SharePointContentType: " + aTab.Attribute("SharePointContentType").Nilai + " | " +
"AdditionalConstraints: " + aTab.Attribute("AdditionalConstraints").Nilai + "r";
}
Di atas, variabel "theXmlToParse" adalah sebuah string variabel, Namun Anda dapat menggunakan beban() metode pada Sungai jika Anda seperti.
"Hasil" adalah label dalam formulir web dan ketika mengeksekusi kode ini, tampak seperti ini:
Aku belum bekerja keluar bagaimana untuk mengurutkan hasil belum, Jadi aku akan meninggalkan itu untuk posting blog masa depan.
</akhir>
Ikuti saya di kegugupan di http://www.twitter.com/pagalvin