【翻译】NativeXml帮助(二)

  • 格式:doc
  • 大小:51.50 KB
  • 文档页数:22

【翻译】NativeXml帮助(二)四、符号引用(Symbol Reference)4.1.类(Classes)4.1.1.TComponentAccess类TComponentAccess = class(TComponent)ponentStateproperty ComponentState;4.1.1.2.SetComponentStateprocedure 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.AbortParsingproperty AbortParsing: boolean;如果您使用一个SAX-like方式的OnNodeNew和OnNodeLoaded事件,并要中止解析过程,设置AbortParsing 为True。

例如:procedure MyForm.NativeXmlNodeLoaded(Sender: TObject; Node: TXmlNode);beginif ( = 'LastNode') and (Sender is TNativeXml) thenTNativeXml(Sender).AbortParsing := True;end;4.1.2.2.BinaryEncodingproperty BinaryEncoding: TBinaryEncodingType;当调用TXmlNode.BufferRead和TXmlNode.BufferWrite 时,将使用什么样的二进制编码。

默认值是xbeBase64。

mentStringproperty CommentString: UTF8String;可以通过此属性访问上方的根元素<!--{comment} - >的一个注释字符串。

关联此说明(comment)属性,将它添加到XML文档。

使用属性RootNodeList添加/插入/提取多条说明。

4.1.2.4.DropCommentsOnParseproperty DropCommentsOnParse: boolean;设置DropCommentsOnParse,如果你对在你的对象模型数据中任何的说明节点不感兴趣,解析过程中遇到的所有的说明将被跳过,而不增加这个节点,ElementType = xeComment(这是默认值)。

请注意当您设定这个选项,以后你不能在原来的位置重建一个XML文件的说明。

4.1.2.5.EncodingStringproperty EncodingString: UTF8String;编码字符串(例如“的UTF-8”或“的UTF-16”)。

这种编码的字符串存储在头部。

例子 1为了得到这个头:<?xml version="1.0" encoding="UTF-16" ?>输入以下代码:MyXmlDocument.EncodingString := 'UTF-16';当读取一个文件,EncodingString将包含编码。

4.1.2.6.EntityByNameproperty EntityByName [AName: UTF8String]:UTF8String;返回指定名称命名实体的值。

这些实体值从被分析的Doctype声明中获得(如果有的话)。

4.1.2.7.ExternalEncodingproperty ExternalEncoding: TStringEncodingType;ExternalEncoding定义XML文件的保存格式。

设置ExternalEncoding到se8bit保存为纯文本文件,以seUtf8保存为UTF8的文件(以字节顺序标记#EF BB FF),以seUTF16LE保存为Unicode(字节顺序标记#FF FE)。

当读取一个XML文件时,ExternalEncoding值将被设置按字节顺序标记和/或找到的编码声明。

4.1.2.8.FloatAllowScientificproperty FloatAllowScientific: boolean;当浮点值转换成字符串(如在WriteFloat),NativeXml 将允许在某些情况下输出科学记数法,只有在FloatAllowScientific值为True(默认)时,返回结果缩短。

4.1.2.9.FloatSignificantDigitsproperty FloatSignificantDigits: integer;当浮点值转换成字符串(如在WriteFloat),NativeXml 将利用这属性表示有效位数。

默认值是cDefaultFloatSignificantDigits = 6。

4.1.2.10.IndentStringproperty IndentString: UTF8String;IndentString是缩进使用的字符串。

默认情况下,它是两个空格:' '。

如果你需要其他格式,可以设置IndentString 为其他的东西,或将其设置为空字符串,以避免缩进。

4.1.2.11.OnNodeCompareproperty OnNodeCompare: TXmlNodeCompareEvent;此事件被一个节点的SortChildNodes方法被调用,并没有直接比较的方法提供。

如果你要使用对象事件的节点为基础的比较方法,实现此事件。

4.1.2.12.OnNodeLoadedproperty OnNodeLoaded: TXmlNodeEvent;解析器解析节点已完成时调用此事件,并在内存中创建的完整内容。

4.1.2.13.OnNodeNewproperty OnNodeNew: TXmlNodeEvent;当解析器遇到一个新的节点此事件被调用。

4.1.2.14.OnProgressproperty OnProgress: TXmlProgressEvent;加载和保存XML文档期间调用OnProgress。

Size参数包含流中的位置。

此事件可以被用来实现在装载和保存的进度指示器。

该事件在每一个被读出或写入节点后调用。

4.1.2.15.OnUnicodeLossproperty OnUnicodeLoss: TNotifyEvent;从Unicode流或文件读取时,如果有一个Unicode转换丢失警告,调用此事件。

4.1.2.16.ParserWarningsproperty ParserWarnings: boolean;默认情况下ParserWarnings为True。

如果为True,XML文档不正确时,解析器将抛出一个例外。

如果为False,解析器将试图忽略非关键的警告,如基于XML的某些文件SOAP 类型消息。

4.1.2.17.Rootproperty Root: TXmlNode;根(Root)是在XML文件最上面的元素。

通过根阅读任何子元素。

当创建一个新的XML文档,您可以通过CreateName 创建并自动包含根节点。

4.1.2.18.RootNodeListproperty RootNodeList: TXmlNode;RootNodeList可用于直接访问XML文档的根的节点列表。

通常,这个列表是由一个声明节点跟着一个标准的根节点。

你可以使用这个属性来添加或删除注释(comments),样式(stylesheets),DTD的等4.1.2.19.StyleSheetNodeproperty StyleSheetNode: TXmlNode;从此XML文件获取样式节点使用。

如果节点尚不存在,它将被创建(因此,如果你使用这个属性,并且不设置任何属性,一个空的样式节点将产生)。

eFullNodesproperty UseFullNodes: boolean;保存XML文档之前,设置UseFullNodes为True,以确保所有节点是由<Node> ...</Node>为代表,而不是短版<Node/>。

UseFullNodes默认为False。

eLocalBiasproperty UseLocalBias: Boolean;如果你在读写datetime值时,要考虑当地时差,将UseLocalBias设置为True。

UseLocalBias是默认为False。

4.1.2.22.Utf8Encodedproperty Utf8Encoded: boolean;此属性是为向后兼容的:NativeXml所有字符串都是UTF8Strings,内部编码始终是UTF8的编码。

4.1.2.23.VersionStringproperty VersionString: UTF8String;读完文档后,这个属性包含XML版本(通常是“1.0”)。

4.1.2.24.WriteOnDefaultproperty WriteOnDefault: boolean;如果你不想写默认值到XML文档,设置WriteOnDefault 为False。

此选项可避免产生巨大的冗余信息的文件,并会加快写入。

4.1.2.25.XmlFormatproperty XmlFormat: TXmlFormatType;默认情况下XmlFormat设置为xfCompact。

此设置是符合该规范,并NativeXml只会在XML文件中产生#$0A这个Ansi符号。

通过设置XmlFormat到xfReadable,你可以方便地生成易读的XML文件,其中包含每个元素缩进和回车。

4.1.2.26.Assignprocedure Assign(Source: TPersistent); override;当关联到一个TnativeXml的源对象,将会从源对象复制它的所有数据。

4.1.2.27.Clearprocedure Clear; virtual;调用Clear从对象中删除所有数据,并恢复所有默认值。