コード例 #1
0
        public object GetValue(string key = null)
        {
            if (type != KVNodeType.Root && type != KVNodeType.Parent)
            {
                return(value.ToString());
            }
            KVNode bring = FindSingleNode(key, KVNodeType.KeyValue);

            if (bring != null)
            {
                return(bring.GetValue(null));
            }
            return(null);
        }
コード例 #2
0
 private static void NodeToFullFormatString(KVNode node, StringBuilder sb, int depth = 0)
 {
     if (node.Type == KVNode.KVNodeType.Root || node.Type == KVNode.KVNodeType.Parent)
     {
         sb.Append('	', depth);
         sb.AppendFormat("{0}\n", node.KeyName);
         sb.Append(' ', depth);
         sb.Append("{\n");
         foreach (var n in node.FindNodes())
         {
             NodeToFullFormatString(n, sb, depth + 1);
         }
         sb.Append('\n');
         sb.Append(' ', depth);
         sb.Append("}");
     }
     else
     {
         sb.Append(' ', depth);
         sb.AppendFormat("\"{0}\" \"{1}\"", node.KeyName, node.GetValue().ToString());
     }
 }
コード例 #3
0
 public void AppendNode(KVNode node)
 {
     if (type != KVNodeType.Root)
     {
         type = KVNodeType.Parent;
     }
     node.SetParent(this);
     this.value = null;
     if (node.Type == KVNodeType.KeyValue)
     {
         if (!Child.Exists(x => x.KeyName.Equals(node.KeyName)))
         {
             Child.Add(node);
         }
         else
         {
             SetValue(node.GetValue(), node.KeyName);
         }
     }
     else
     {
         Child.Add(node);
     }
 }