Mas*_*tic 10 c# xml dictionary readxml
我需要将XML文件读入字典.
我阅读了一些指南,我只是对我不理解的奇怪单词(如节点,XML验证等)感到困惑.那么,请你帮我一下走吧?
我有一个XML文件,以这种格式编写:
<database>
<def number="1" name="one"/>
<def number="2" name="two"/>
</database>
Run Code Online (Sandbox Code Playgroud)
如上所述,我想将它存储在字典中.我该怎么办呢?
Mar*_*ell 15
var data = XElement.Parse(xml)
.Elements("def")
.ToDictionary(
el => (int)el.Attribute("number"),
el => (string)el.Attribute("name")
);
Run Code Online (Sandbox Code Playgroud)
这个:
XElement(从<database>)开始<def ...>元素@number用作键(解释为a int)和@name值(作为字符串)data,隐式输入为Dictionary<int,string>你的问题是基本的,但不是不恰当的.别担心.我会解释你应该做些什么.
首先,您必须加载此XML文件(如果它在磁盘上).否则你不需要这一步
XDocument database = XDocument.Load(pathToYourXmlFile);
Run Code Online (Sandbox Code Playgroud)
到了这里,你得到:
<database>
<def number="1" name="one"/>
<def number="2" name="two"/>
</database>
Run Code Online (Sandbox Code Playgroud)
然后你必须得到所有def元素的列表:
List<XElement> defs = database.Elements("def");
Run Code Online (Sandbox Code Playgroud)
到了这里,你得到:
<def number="1" name="one"/>
<def number="2" name="two"/>
Run Code Online (Sandbox Code Playgroud)
现在,你应该得到列表中的每个项目(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;
}
Run Code Online (Sandbox Code Playgroud)
从每个def中提取信息的代码是:
int number = def.Attribute("number").value;
string name = def.Attribute("name").value;
Run Code Online (Sandbox Code Playgroud)
现在你有了你的号码和名字,只需将它添加到你的字典中即可.
dictionary.Add(number, name);
Run Code Online (Sandbox Code Playgroud)
希望有所帮助.
| 归档时间: |
|
| 查看次数: |
12494 次 |
| 最近记录: |