2

私は次のようなXML文字列を持っています:

<root>
  <name>Key</name>
  <value>Value</value>
  <name>Key</name>
  <value>Value</value>
  <name>Key</name>
  <value>Value</value>
</root>

これに対応するC#ディクショナリを作成するにはどうすればよいですか?つまり、名前と値のペアごとにディクショナリアイテムを作成します。(Linq To XMLを使用)。

4

2 に答える 2

1

私はこのようなことを試みます...

XDocument doc = XDocument.parse(... parse you XML here ...);
var nameElements = doc.Descendants("name");
var dictionary = nameElements.ToDictionary(el => el.Value,
                                           el => el.ElementsAfterSelf().First().Value);

これは最初にすべての要素を見つけname、次にこの配列を辞書に投影します。キーセレクターはel.Valuename要素の値であるを使用します。値セレクターは、要素の次の兄弟を取得します。これが要素になりますvalue

于 2013-03-06T13:09:55.770 に答える
0

ToDictionary()を使用できます:

var dict = XElement.Parse(yourMarkup).Elements("name").ToDictionary(
    name => name.Value,
    name => name.ElementsAfterSelf("value").First().Value);
于 2013-03-06T13:09:19.243 に答える