【更新内容】
1、新增Remove函数移除指定的子结点,与Delete的区别在于Remove并不会释放子结点,而只是将其从父结点中移除而已。
/// <summary>将指定索引的子结点移除</summary> /// <param name="AItemIndex">要移除的子结点索引</param> /// <returns>返回被移除的子结点,如果指定的索引不存在,返回nil</returns> /// <remarks>被移除的子结点需要用户自己手工释放</remarks> function Remove(AItemIndex: Integer): TQJson; overload; virtual;
2、新增Detach函数将自己从父结点中移除自身,相当于调用Parent.Remove(Self)
/// <summary>从当前XML父结点中分离当前结点</summary> /// <remarks>分离后的结点需要单独释放</remarks> procedure Detach;
3、新增AttachTo函数用于将自己做为最后一个子结点附加到指定的父结点,注意父结点的类型必需为jdtArray或jdtObject
/// <summary>将当前结点附加到新的父结点上</summary> /// <param name="AParent">要附加的目标结点</param> /// <remarks>附加后的结点由父结点负责释放</remarks> procedure AttachTo(ANewParent: TQJson);
4、新增MoveTo函数将自己移动到指定的父结点下的指定位置,注意父结点的类型必需为jdtArray或jdtObject
/// <summary>将当前结点移动的新的父结点的指定位置</summary> /// <param name="ANewParent">新的父结点</param> /// <param name="AIndex">新位置索引</param> /// <remarks>如果新位置索引小于等于0,则插入到起始位置,如果大于父的已有结点数量,则插入到 /// 父结点末尾,否则添加到指定位置</remarks> procedure MoveTo(ANewParent: TQJson; AIndex: Integer);
5、Name属性改为可以在后期重命名。
【更新级别】
建议更新