Delphi操作XML:TXMLNode类(二)

4.1.16.30.ValueDirect

  property ValueDirect:
UTF8String;

  ValueDirect是从流里面解析的原始文本值。如果有多行文本,将在ValueDirect中用CR符号分割。

4.1.16.31.WriteOnDefault

  property WriteOnDefault:
boolean;

  WriteOnDefault属性值用于返回或设置父文档(Parent Document)WriteOnDefault 属性值。

4.1.16.32.Assign

  procedure Assign(Source:
TPersistent); override;

  使用 Assign连接另一个节点。这个方法从源节点复制所有属性和子节点到当前节点。你可以连接一个TNativeXml文档到这个节点,TNativeXml对象的RootNodeList属性将被复制。

4.1.16.33.AttributeAdd

  procedure
AttributeAdd(const AName: UTF8String; AValue: integer); overload;

  使用这个方法增加一个整型(integer)属性到这个节点。

4.1.16.34.AttributeAdd

  procedure
AttributeAdd(const AName: UTF8String; const AValue: UTF8String); overload;

  使用这个方法增加一个字符型(string)属性到这个节点,该值为AValue

4.1.16.35.AttributeDelete

  procedure
AttributeDelete(Index: integer);

  使用这个方法删除列表中Index指定的属性,Index必须大等于0,并且小于AttributeCount。使用范围外的Index是无效的。

4.1.16.36.AttributeExchange

  procedure
AttributeExchange(Index1: integer; Index2: integer);

  交换Index1Index2指定索引的属性。

4.1.16.37.AttributeIndexByname

  function
AttributeIndexByname(const AName: UTF8String): integer;

  使用这个方法,返回指定AName名称的属性索引。

4.1.16.38.AttributesClear

  procedure AttributesClear;
virtual;

  清除当前节点的所有属性。

4.1.16.39.BufferLength

  function BufferLength:
integer; virtual;

  返回缓冲中数据长度,他将对xbeBinHexxbeBase64格式解码,如果BinaryEncoding属性是xbeSixBits,这个函数不能使用。未编码的数据长度取决于从编码数据的长度。xbeBinHex是无意义的,(只有一半的长度),使用xbeBase64更困难(必须使用填充字符)。

4.1.16.40.BufferRead

  procedure BufferRead(var
Buffer{$IFDEF CLR}: TBytes{$ENDIF}; Count: Integer); virtual;

  使用这个方法从节点的缓冲中读取长度为Count的二进制数据。

4.1.16.41.BufferWrite

  procedure BufferWrite(const
Buffer{$IFDEF CLR}: TBytes{$ENDIF}; Count: Integer); virtual;

  使用这个方法将长度为Count的二进制数据写入节点缓冲区。在最终的XML文档中,这个数据使用BinHexBase64编码的文本。注意NativeXml仅支持最大2Gb数据文件,不能使用巨大的文件。这个二进制编码方法(转换二进制数据到文本)能选择BinaryEncoding属性,xbeBase64是最有效的,但是稍慢。总是使用同一种编码读写它。

4.1.16.42.Clear

  procedure Clear; virtual;

  清除当前XML节点的所有子节点和属性,包括名字和值。这个节点没有被删除,可以调用Delete代替他。

4.1.16.43.Create

  constructor
Create(ADocument: TNativeXml); virtual;

  创建一个新对象,ADocument 必须是TNativeXml,他将获得这个新的节点。

4.1.16.44.CreateName

  constructor
CreateName(ADocument: TNativeXml; const AName: UTF8String); virtual;

  创建一个新的节点对象,并设置名字为ANameADocument必须为TNativeXml类型,并会得到这个新的节点。

4.1.16.45.CreateNameValue

  constructor
CreateNameValue(ADocument: TNativeXml; const AName: UTF8String; const AValue:
UTF8String); virtual;

  创建一个新的节点对象,并设置名字为AName,并且值为UTF8String类型的AValueADocument必须为TNativeXml类型,并会得到这个新的节点。

4.1.16.46.CreateType

  constructor
CreateType(ADocument: TNativeXml; AType: TXmlElementType); virtual;

  创建一个新的节点对象,并且XML元素类型(TXmlElementType)ATypeADocument必须为TNativeXml类型,并会得到这个新的节点。

4.1.16.47.Delete

  procedure Delete; virtual;

  调用Delete 从父节点列表中完整的删除这个节点。这个调用仅在这个节点有父节点的情况有效。根节点调用它无效。

4.1.16.48.DeleteEmptyNodes

  procedure DeleteEmptyNodes;

  删除所有空的节点(没有子节点、属性、值)。这个方法递归调用。

4.1.16.49.Destroy

  destructor Destroy;
override;

  销毁当前节点对象。自动释放子节点。不要直接调用这个方法。当TNativeXml.Free时,文档中的所有TXmlNodes对象将递归调用这个方法。

4.1.16.50.FindNode

  function FindNode(const
NodeName: UTF8String): TXmlNode;

  找到第一个名字为NodeName的节点,与NodeByName函数相反,这个函数将搜索完整的子节点树,使用DepthFirst方法。它也可以搜索全路径,例如

  FoundNode :=
MyNode.FindNode('/Root/SubNode1/SubNode2/ThisNode');

  注:已经无法找到DepthFirst定义了,虽然在注释里面还能找到他的身影。当NodeName得第一个字符是“/”时,会按照全路径方式查找。

4.1.16.51.FindNodes

  procedure FindNodes(const
NodeName: UTF8String; const AList: TList);

  查找名字为NodeName的所有节点,与NodeByName函数相反,这个函数将搜索完整的子节点树。对于你使用的AList列表参数,你不需要初始化他的Items

4.1.16.52.FromAnsiString

  function
FromAnsiString(const s: AnsiString): UTF8String;

  使用FromAnsiString转换一个标准ANSI字符串到UTF8String格式,比如节点的名字、值、属性。在TNativeXmlANSI字符被编码为UTF8

4.1.16.53.FromUnicodeString

  function
FromUnicodeString(const W: UnicodeString): UTF8String;

  使用FromUnicodeString转换UnicodeString格式字符串到UTF8String 格式。

4.1.16.54.HasAttribute

  function HasAttribute(const
AName: UTF8String): boolean; virtual;

  使用HasAttribute确定名称为AName的节点是否有属性。

4.1.16.55.IndexInParent

  function IndexInParent:
integer;

  这个函数返回这个节点在父节点中的索引。如果父节点不存在,这个函数返回-1

4.1.16.56.IsClear

  function IsClear: boolean;
virtual;

  如果这个节点没有子节点、属性,并且名字和值为空,返回True

4.1.16.57.IsEmpty

  function IsEmpty: boolean;
virtual;

  如果这个节点没有子节点、属性,并且值为空,返回True

4.1.16.58.IsEqualTo

  function IsEqualTo(ANode:
TXmlNode; Options: TXmlCompareOptions; MismatchNodes: TList): boolean;

4.1.16.59.NodeAdd

  function NodeAdd(ANode:
TXmlNode): integer; virtual;

  增加ANode节点为当前节点子列表的一个新的子元素,这个节点将被增加到NodeCount这个位置,并且这个数值被返回。
posted @ 2012-02-15 11:05  步履蹒跚  阅读(1298)  评论(0编辑  收藏  举报