1

我找到了一种从一个输入文件构建一个字典的方法,但它不考虑多个输入文件。为了让我的努力进入下一步:我希望将额外的输入文件附加到现有的哈希中,并尝试一些不同的东西,这段代码有点接近我想要完成的,但它仍然缺少语法。

        foreach (string file in filePaths)
        {
            XDocument xdoc = XDocument.Load(file);

            allDict = (from m in xdoc.Descendants("msg")
                        .ToDictionary(m => m.Element("msgId").Value,
                                      m => new msg
                                      {
                                        msgId = m.Element("msgId").Value,
                                        msgType = m.Element("msgType").Value,
                                        name = m.Element("name").Value
                                      }
            )
        }
4

1 回答 1

0

创建一个“主”对象,然后附加您从每个文件中获得的值。

Dictionary<string, msg> masterDictionary = new Dictionary<string, mgs>();

foreach (string file in filePath)
{
    XDocument xdoc = XDocument.Load(file);
    Dictionary<string, msg> fileDictionary = xdoc
        .Descendants("msg")
        .ToDictionary(m => m.Element("msgId").Value,
                      m => new msg
                           {
                               msgId = m.Element("msgId").Value,
                               msgType = m.Element("msgType").Value,
                               name = m.Element("name").Value
                           });

    //now insert your new values into the master
    foreach(var newValue in fileDictionary)
        masterDictionary.Add(newValue.Key, newValue.Value);
}
于 2013-10-17T01:02:13.617 回答