anchor.diff:  
   procedure TDValueNode.RemoveAll;
   begin
  -  while GetCount > 0 do Delete(0);
  +  ClearChildren();
   end;
   
   function TDValueNode.RemoveByName(pvName:String): Integer;
  
positive.code:     {$ENDIF}
    private
      function GetCount: Integer;
      procedure ClearChildren();
      procedure CheckCreateChildren;
      procedure CreateName();
  
negative.code: 
      function ForceByPath(pvPath:String): TDValueNode;
  
      /// <summary>
      ///   Ϊһһӽڵ
      ///     ֮ǰͣᱻ
      /// </summary>
      function AddArrayChild: TDValueNode;
  
      /// <summary>
      ///   ƳһӶ
      /// </summary>
      function RemoveByName(pvName:String): Integer;
  
      /// <summary>
      ///   ͷеӶ
      ///   б
      /// </summary>
      procedure RemoveAll;
  
      /// <summary>
      ///   ɾһӶ
      /// </summary>
      procedure Delete(pvIndex:Integer);
  
      property Count: Integer read GetCount;
  
      
      property Items[Index: Integer]: TDValueNode read GetItems; default;
  
      /// <summary>
      ///   ֵ
      /// </summary>
      property Name: TDValueItem read FName;
  
      /// <summary>
      ///   ڵ
      /// </summary>
      property Parent: TDValueNode read FParent;
  
      /// <summary>
      ///   ֵ
      /// </summary>
      property Value: TDValueItem read FValue;
    end;
  
    TDValueItem = class(TObject)
  