2012-02-09 6 views
3

XMLがあります。XMLを辞書に逆シリアル化する<string、string>

<data> 
    <name1>James</name1> 
    <name2>John</name2> 
    etc.. 
</data> 

NAME1、NAME2、など何でもかまいません、私は理想的な辞書には、このXMLを取得できるようにしたい、これは.NETのシリアル化に建て使用可能ですか?

おかげで、 ジェームズ。

EDIT:理想的には、私はlinqを使用したくありません。要素配列全体を文字列にシリアライズすることは可能ですか?だから私はすべての子要素タグとデータを含む文字列オブジェクト 'データ'で終わるだろうか?

あなたが方法 ToDictionary()でXMLにLINQを使用することができます
+0

これはデシリアライズされます... – Guffa

答えて

7

ありませんが、あなたはそうするのLINQからXMLへを使用することができます。

XDocument.Load([file path, stream, whatever]).Descendants("data").Descendants() 
    .ToDictionary(element => element.Name, element => element.Value) 

はUPDATE: LINQのツーを使用する方法はありません場合OPは、彼の編集に言ったようにXMLを使用する場合は、IXmlSerializableを実装するXMLシリアル化をカスタマイズする必要があります(この他のQ & A:custom xml serializationをチェックしてください)。

関連する問題