XMLファイルを辞書に読み込む必要があります。
私はいくつかのガイドを読みましたが、理解できない奇妙な単語(ノード、XML検証など)から混乱するだけでした。それで、私を案内してくれませんか?
この形式で書かれたXMLファイルがあります。
<database>
<def number="1" name="one"/>
<def number="2" name="two"/>
</database>
前述のように、辞書に保存したいと思います。どうすればいいですか?
XMLファイルを辞書に読み込む必要があります。
私はいくつかのガイドを読みましたが、理解できない奇妙な単語(ノード、XML検証など)から混乱するだけでした。それで、私を案内してくれませんか?
この形式で書かれたXMLファイルがあります。
<database>
<def number="1" name="one"/>
<def number="2" name="two"/>
</database>
前述のように、辞書に保存したいと思います。どうすればいいですか?
var data = XElement.Parse(xml)
.Elements("def")
.ToDictionary(
el => (int)el.Attribute("number"),
el => (string)el.Attribute("name")
);
これ:
XElement(で始まる<database>)に解析します<def ...>要素を繰り返します@numberキー(として解釈int)および@name値(文字列として)として使用して、辞書を形成しますdata。これは、暗黙的に次のように入力されます。Dictionary<int,string>あなたの質問は基本的ですが、不適切ではありません。心配しないで。私はあなたが何をすべきかを説明します。
まず、このXMLファイルをロードする必要があります(ディスク上にある場合)。それ以外の場合は、この手順は必要ありません
XDocument database = XDocument.Load(pathToYourXmlFile);
ここまで、あなたは得ました:
<database>
<def number="1" name="one"/>
<def number="2" name="two"/>
</database>
次に、すべてのdef要素のリストを取得する必要があります。
List<XElement> defs = database.Elements("def");
ここまで、あなたは得ました:
<def number="1" name="one"/>
<def number="2" name="two"/>
これで、リストの各アイテム(defの各def)を取得する必要があります。
foreach(XElement def in defs)
{
// Here you have each def <def number="x" name="y" />
int number = def.Attribute("number").value;
string name = def.Attribute("name").value;
}
各defから情報を抽出するコードは次のとおりです。
int number = def.Attribute("number").value;
string name = def.Attribute("name").value;
番号と名前がわかったので、辞書に追加するだけです。
dictionary.Add(number, name);
お役に立てば幸いです。