我的 xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<root>
<data name="LogIn">Log In</data>
<data name="Password">Password</data>
</root>
我在没有 Linq 的情况下成功做到了这一点,任何人都可以帮助我将以下代码转换为 Linq:
using (XmlReader reader = XmlReader.Create(_xml))
{
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.LocalName == "data")
{
reader.MoveToAttribute("name");
string key = reader.Value;
reader.MoveToContent();
string value = reader.ReadElementContentAsString();
_dictionary.Add(key, value);
}
}
reader.Close();
}
最佳答案
var xdoc = XDocument.Load(path_to_xml);
_dictionary = xdoc.Descendants("data")
.ToDictionary(d => (string)d.Attribute("name"),
d => (string)d);
关于c# - 如何将 XML 转换为字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13952425/