LINQ を使用して解析する簡単な例はここにあります。 XML と甘いで取得します。, そこに甘いを属性します。.
ここでは、XML を解析したいのですが。:
<?xml のバージョン ="1.0" エンコーディング ="utf-8" ?>
<DeafultConfigurationSets>
<PageLayouts><PageLayout 名 ="xyzzy">
<タブ>
<タブ TabOrder =「1" TabLabel ="x" SharePointContentType =「を" AdditionalConstraints「ac1」=/>
<タブ TabOrder =」2" TabLabel =「y" SharePointContentType ="b" AdditionalConstraints「ac2」=/>
</タブ>
</PageLayout><PageLayout 名「xyzzy2」=>
<タブ>
<タブ TabOrder ="100" TabLabel ="x" SharePointContentType =「を" AdditionalConstraints「ac1」=/>
<タブ TabOrder =「101" TabLabel =「y" SharePointContentType ="b" AdditionalConstraints「ac2」=/>
<タブ TabOrder =「103" TabLabel「z =" SharePointContentType ="c" AdditionalConstraints「ac3」=/>
</タブ>
</PageLayout></PageLayouts>
</DeafultConfigurationSets>
時のいくつかのタブを上記の解析によって構築したいです。 私のタブは、ページ レイアウトに依存します。 私ページ レイアウトの名前が「xyzzy2」の場合私タブを取得します。 100, 101 と 103 (タブ <PageLayout 名「xyzzy2」=>).
ここでは、LINQ:
var allTabs =
p から
XElement.Parse(theXmlToParse).
要素(「PageLayouts」).
要素(「PageLayout」)
ここで (p.Attribute([名前]).Value.Equals(「xyzzy2」))
p.Elements から m(「タブ」).要素(「タブ」)
m を選択します。;Results.Text = 文字列。空;
foreach (var aTab allTabs で)
{
Results.Text =
「タブ オーダー: " + aTab.Attribute(「TabOrder」).値 + " |" +
「タブのラベル: " + aTab.Attribute(「TabLabel」).値 + " | " +
「SharePointContentType: " + aTab.Attribute(「SharePointContentType」).値 + " | " +
「AdditionalConstraints: " + aTab.Attribute(「AdditionalConstraints」).値 + 「r」;
}
上記で, 変数"theXmlToParse"文字列変数です。, しかし、負荷を使用することができます。() あなたのような場合、ストリームのメソッド.
[結果] ラベルを web フォームでこのコードを実行するときは, それはこのように見える:
私はまだ、検索結果を並べ替える方法を働いていません。, 私は、将来のブログの記事を任せ.
</終了>
私は Twitter の上に従ってください。 http://www.twitter.com/pagalvin