2016-11-30 47 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好鼻子。尽量不要依赖史蒂夫太多。我会试试看,如果遇到任何问题,请告诉我们。谢谢! –