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); }
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()); } }
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); } }