我需要將XML文件讀取到字典中。將XML讀取到字典中
我讀了很少的指南,我只從我不明白的奇怪單詞(例如節點,XML驗證等)中感到困惑。所以,你可以請我走過去嗎?
我這是寫在這個格式的XML文件:
<database>
<def number="1" name="one"/>
<def number="2" name="two"/>
</database>
如前所述,我想將它保存在一本字典。我會怎麼做呢?
我需要將XML文件讀取到字典中。將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>
然後,你必須把所有高清元素的列表:
List<XElement> defs = database.Elements("def");
到這裏,你得到了:
<def number="1" name="one"/>
<def number="2" name="two"/>
現在
,你應該得到的列表中的每個項目(在DEFS每個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;
}
代碼從每個高清提取信息是:
int number = def.Attribute("number").value;
string name = def.Attribute("name").value;
現在,你有你的號碼,名稱,只需將其添加到您的字典。
dictionary.Add(number, name);
希望有所幫助。
應該是'database.Elements(「def」)。ToList()'? – codeulike
問題和答案,如這一個是什麼使這個網站如此真棒。兩者皆爲+1。 – neverseenjack