2016-11-30 46 views
1

訪問關鍵我想從我不要管裏的一些文件有數字鍵源反序列化YAML文件。從YamlDotNet解串器

例子:

0: 
    name: Category1 
    published: true 
1: 
    name: Category2 
    published: false 

對於我而言,存儲,因爲這是其他數據集將如何引用數據的數字鍵是很重要的。

例子:

3573: 
    name: Item1 
    category: 0 
89475: 
    name: Item2 
    category: 1 

有什麼辦法來訪問從YAMLDotNet的解串器的關鍵喂類?

回答

0

我在網上聞前夕... ... O7我也一直在那裏,這樣做了所以這裏是你的答案。使用文檔根節點作爲(YamlMappingNode)並迭代子項(鍵值對)。輸入密鑰將是categoryID,輸入值將是類別數據。

 YamlMappingNode mapping = (YamlMappingNode)yaml.Documents[0].RootNode; 
     foreach (var entry in mapping.Children) 
     { 
      int categoryID = Int32.Parse(entry.Key.ToString()); 
      YamlMappingNode params = (YamlMappingNode)entry.Value; 
      foreach (var param in params.Children) 
      { 
       string paramName = param.Key.ToString(); 
       // Assign value to parameter. 
       if(paramName == "name") 
        name = param.Value.ToString(); 
      } 
     } 
+0

O7好鼻子。儘量不要依賴史蒂夫太多。我會試試看,如果遇到任何問題,請告訴我們。謝謝! –