四、符号引用(Symbol Reference)
4.1.类(Classes)
4.1.1.TComponentAccess类
TComponentAccess = class(TComponent)
4.1.1.1.ComponentState
property ComponentState;
4.1.1.2.SetComponentState
procedure SetComponentState(const AState: TComponentState);
4.1.2.TNativeXml类
TNativeXml = class(TPersistent)
TNativeXml是XML文件的载体。创建一个TNativeXml,然后使用方法LoadFromFile、LoadFromStream或ReadFromString加载XML文档到内存中。或者从头开始使用Root.NodeNew添加节点,并最终SaveToFile和SaveToStream保存结果为一个XML文档。用属性Xmlformat = xfReadable确保缩进(易读)输出。
4.1.2.1.AbortParsing
property AbortParsing: boolean;
如果您使用一个SAX-like方式的OnNodeNew和OnNodeLoaded事件,并要中止解析过程,设置AbortParsing为True。例如:
procedure MyForm.NativeXmlNodeLoaded(Sender: TObject; Node: TXmlNode);
begin
if (Node.Name = 'LastNode') and (Sender is TNativeXml) then
TNativeXml(Sender).AbortParsing := True;
end;
4.1.2.2.BinaryEncoding
property BinaryEncoding: TBinaryEncodingType;
当调用TXmlNode.BufferRead和TXmlNode.BufferWrite时,将使用什么样的二进制编码。默认值是xbeBase64。
4.1.2.3.CommentString
property CommentString: UTF8String;
可以通过此属性访问上方的根元素<!--{comment} - >的一个注释字符串。关联此说明(comment)属性,将它添加到XML文档。使用属性RootNodeList添加/插入/提取多条说明。
4.1.2.4.DropCommentsOnParse
property DropCommentsOnParse: boolean;
设置DropCommentsOnParse,如果你对在你的对象模型数据中任何的说明节点不感兴趣,解析过程中遇到的所有的说明将被跳过,而不增加这个节点,ElementType = xeComment(这是默认值)。请注意当您设定这个选项,以后你不能在原来的位置重建一个XML文件的说明。
4.1.2.5.EncodingString
property EncodingString: UTF8String;
编码字符串(例如“的UTF-8”或“的UTF-16”)。这种编码的字符串存储在头部。
例子 1
为了得到这个头:
<?xml version="1.0" encoding="UTF-16" ?>
输入以下代码:
MyXmlDocument.EncodingString := 'UTF-16';
当读取一个文件,EncodingString将包含编码。
4.1.2.6.EntityByName
property EntityByName [AName: UTF8String]: UTF8String;
返回指定名称命名实体的值。这些实体值从被分析的Doctype声明中获得(如果有的话)。
4.1.2.7.ExternalEncoding
property ExternalEncoding: TStringEncodingType;
ExternalEncoding定义XML文件的保存格式。设置ExternalEncoding到se8bit保存为纯文本文件,以seUtf8保存为UTF8的文件(以字节顺序标记#EF BB FF),以seUTF16LE保存为Unicode(字节顺序标记#FF FE)。当读取一个XML文件时,ExternalEncoding值将被设置按字节顺序标记和/或找到的编码声明。
4.1.2.8.FloatAllowScientific
property FloatAllowScientific: boolean;
当浮点值转换成字符串(如在WriteFloat),NativeXml将允许在某些情况下输出科学记数法,只有在FloatAllowScientific值为True(默认)时,返回结果缩短。
4.1.2.9.FloatSignificantDigits
property FloatSignificantDigits: integer;
当浮点值转换成字符串(如在WriteFloat),NativeXml将利用这属性表示有效位数。默认值是cDefaultFloatSignificantDigits = 6。
4.1.2.10.IndentString
property IndentString: UTF8String;
IndentString是缩进使用的字符串。默认情况下,它是两个空格:' '。如果你需要其他格式,可以设置IndentString为其他的东西,或将其设置为空字符串,以避免缩进。
4.1.2.11.OnNodeCompare
property OnNodeCompare: TXmlNodeCompareEvent;
此事件被一个节点的SortChildNodes方法被调用,并没有直接比较的方法提供。如果你要使用对象事件的节点为基础的比较方法,实现此事件。
4.1.2.12.OnNodeLoaded
property OnNodeLoaded: TXmlNodeEvent;
解析器解析节点已完成时调用此事件,并在内存中创建的完整内容。
4.1.2.13.OnN
4.1.类(Classes)
4.1.1.TComponentAccess类
TComponentAccess = class(TComponent)
4.1.1.1.ComponentState
property ComponentState;
4.1.1.2.SetComponentState
procedure SetComponentState(const AState: TComponentState);
4.1.2.TNativeXml类
TNativeXml = class(TPersistent)
TNativeXml是XML文件的载体。创建一个TNativeXml,然后使用方法LoadFromFile、LoadFromStream或ReadFromString加载XML文档到内存中。或者从头开始使用Root.NodeNew添加节点,并最终SaveToFile和SaveToStream保存结果为一个XML文档。用属性Xmlformat = xfReadable确保缩进(易读)输出。
4.1.2.1.AbortParsing
property AbortParsing: boolean;
如果您使用一个SAX-like方式的OnNodeNew和OnNodeLoaded事件,并要中止解析过程,设置AbortParsing为True。例如:
procedure MyForm.NativeXmlNodeLoaded(Sender: TObject; Node: TXmlNode);
begin
if (Node.Name = 'LastNode') and (Sender is TNativeXml) then
TNativeXml(Sender).AbortParsing := True;
end;
4.1.2.2.BinaryEncoding
property BinaryEncoding: TBinaryEncodingType;
当调用TXmlNode.BufferRead和TXmlNode.BufferWrite时,将使用什么样的二进制编码。默认值是xbeBase64。
4.1.2.3.CommentString
property CommentString: UTF8String;
可以通过此属性访问上方的根元素<!--{comment} - >的一个注释字符串。关联此说明(comment)属性,将它添加到XML文档。使用属性RootNodeList添加/插入/提取多条说明。
4.1.2.4.DropCommentsOnParse
property DropCommentsOnParse: boolean;
设置DropCommentsOnParse,如果你对在你的对象模型数据中任何的说明节点不感兴趣,解析过程中遇到的所有的说明将被跳过,而不增加这个节点,ElementType = xeComment(这是默认值)。请注意当您设定这个选项,以后你不能在原来的位置重建一个XML文件的说明。
4.1.2.5.EncodingString
property EncodingString: UTF8String;
编码字符串(例如“的UTF-8”或“的UTF-16”)。这种编码的字符串存储在头部。
例子 1
为了得到这个头:
<?xml version="1.0" encoding="UTF-16" ?>
输入以下代码:
MyXmlDocument.EncodingString := 'UTF-16';
当读取一个文件,EncodingString将包含编码。
4.1.2.6.EntityByName
property EntityByName [AName: UTF8String]: UTF8String;
返回指定名称命名实体的值。这些实体值从被分析的Doctype声明中获得(如果有的话)。
4.1.2.7.ExternalEncoding
property ExternalEncoding: TStringEncodingType;
ExternalEncoding定义XML文件的保存格式。设置ExternalEncoding到se8bit保存为纯文本文件,以seUtf8保存为UTF8的文件(以字节顺序标记#EF BB FF),以seUTF16LE保存为Unicode(字节顺序标记#FF FE)。当读取一个XML文件时,ExternalEncoding值将被设置按字节顺序标记和/或找到的编码声明。
4.1.2.8.FloatAllowScientific
property FloatAllowScientific: boolean;
当浮点值转换成字符串(如在WriteFloat),NativeXml将允许在某些情况下输出科学记数法,只有在FloatAllowScientific值为True(默认)时,返回结果缩短。
4.1.2.9.FloatSignificantDigits
property FloatSignificantDigits: integer;
当浮点值转换成字符串(如在WriteFloat),NativeXml将利用这属性表示有效位数。默认值是cDefaultFloatSignificantDigits = 6。
4.1.2.10.IndentString
property IndentString: UTF8String;
IndentString是缩进使用的字符串。默认情况下,它是两个空格:' '。如果你需要其他格式,可以设置IndentString为其他的东西,或将其设置为空字符串,以避免缩进。
4.1.2.11.OnNodeCompare
property OnNodeCompare: TXmlNodeCompareEvent;
此事件被一个节点的SortChildNodes方法被调用,并没有直接比较的方法提供。如果你要使用对象事件的节点为基础的比较方法,实现此事件。
4.1.2.12.OnNodeLoaded
property OnNodeLoaded: TXmlNodeEvent;
解析器解析节点已完成时调用此事件,并在内存中创建的完整内容。
4.1.2.13.OnN