翻译NativeXml帮助二.docx
- 文档编号:26881345
- 上传时间:2023-06-23
- 格式:DOCX
- 页数:16
- 大小:21.23KB
翻译NativeXml帮助二.docx
《翻译NativeXml帮助二.docx》由会员分享,可在线阅读,更多相关《翻译NativeXml帮助二.docx(16页珍藏版)》请在冰豆网上搜索。
翻译NativeXml帮助二
【翻译】NativeXml帮助
(二)
四、符号引用(SymbolReference)
4.1.类(Classes)
4.1.1.TComponentAccess类
TComponentAccess=class(TComponent)
4.1.1.1.ComponentState
propertyComponentState;
4.1.1.2.SetComponentState
procedureSetComponentState(constAState:
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
propertyAbortParsing:
boolean;
如果您使用一个SAX-like方式的OnNodeNew和OnNodeLoaded事件,并要中止解析过程,设置AbortParsing为True。
例如:
procedureMyForm.NativeXmlNodeLoaded(Sender:
TObject;Node:
TXmlNode);
begin
if(Node.Name='LastNode')and(SenderisTNativeXml)then
TNativeXml(Sender).AbortParsing:
=True;
end;
4.1.2.2.BinaryEncoding
propertyBinaryEncoding:
TBinaryEncodingType;
当调用TXmlNode.BufferRead和TXmlNode.BufferWrite时,将使用什么样的二进制编码。
默认值是xbeBase64。
4.1.2.3.CommentString
propertyCommentString:
UTF8String;
可以通过此属性访问上方的根元素<!
--{comment}->的一个注释字符串。
关联此说明(comment)属性,将它添加到XML文档。
使用属性RootNodeList添加/插入/提取多条说明。
4.1.2.4.DropCommentsOnParse
propertyDropCommentsOnParse:
boolean;
设置DropCommentsOnParse,如果你对在你的对象模型数据中任何的说明节点不感兴趣,解析过程中遇到的所有的说明将被跳过,而不增加这个节点,ElementType=xeComment(这是默认值)。
请注意当您设定这个选项,以后你不能在原来的位置重建一个XML文件的说明。
4.1.2.5.EncodingString
propertyEncodingString:
UTF8String;
编码字符串(例如“的UTF-8”或“的UTF-16”)。
这种编码的字符串存储在头部。
例子1
为了得到这个头:
<?
xmlversion="1.0"encoding="UTF-16"?
>
输入以下代码:
MyXmlDocument.EncodingString:
='UTF-16';
当读取一个文件,EncodingString将包含编码。
4.1.2.6.EntityByName
propertyEntityByName[AName:
UTF8String]:
UTF8String;
返回指定名称命名实体的值。
这些实体值从被分析的Doctype声明中获得(如果有的话)。
4.1.2.7.ExternalEncoding
propertyExternalEncoding:
TStringEncodingType;
ExternalEncoding定义XML文件的保存格式。
设置ExternalEncoding到se8bit保存为纯文本文件,以seUtf8保存为UTF8的文件(以字节顺序标记#EFBBFF),以seUTF16LE保存为Unicode(字节顺序标记#FFFE)。
当读取一个XML文件时,ExternalEncoding值将被设置按字节顺序标记和/或找到的编码声明。
4.1.2.8.FloatAllowScientific
propertyFloatAllowScientific:
boolean;
当浮点值转换成字符串(如在WriteFloat),NativeXml将允许在某些情况下输出科学记数法,只有在FloatAllowScientific值为True(默认)时,返回结果缩短。
4.1.2.9.FloatSignificantDigits
propertyFloatSignificantDigits:
integer;
当浮点值转换成字符串(如在WriteFloat),NativeXml将利用这属性表示有效位数。
默认值是cDefaultFloatSignificantDigits=6。
4.1.2.10.IndentString
propertyIndentString:
UTF8String;
IndentString是缩进使用的字符串。
默认情况下,它是两个空格:
''。
如果你需要其他格式,可以设置IndentString为其他的东西,或将其设置为空字符串,以避免缩进。
4.1.2.11.OnNodeCompare
propertyOnNodeCompare:
TXmlNodeCompareEvent;
此事件被一个节点的SortChildNodes方法被调用,并没有直接比较的方法提供。
如果你要使用对象事件的节点为基础的比较方法,实现此事件。
4.1.2.12.OnNodeLoaded
propertyOnNodeLoaded:
TXmlNodeEvent;
解析器解析节点已完成时调用此事件,并在内存中创建的完整内容。
4.1.2.13.OnNodeNew
propertyOnNodeNew:
TXmlNodeEvent;
当解析器遇到一个新的节点此事件被调用。
4.1.2.14.OnProgress
propertyOnProgress:
TXmlProgressEvent;
加载和保存XML文档期间调用OnProgress。
Size参数包含流中的位置。
此事件可以被用来实现在装载和保存的进度指示器。
该事件在每一个被读出或写入节点后调用。
4.1.2.15.OnUnicodeLoss
propertyOnUnicodeLoss:
TNotifyEvent;
从Unicode流或文件读取时,如果有一个Unicode转换丢失警告,调用此事件。
4.1.2.16.ParserWarnings
propertyParserWarnings:
boolean;
默认情况下ParserWarnings为True。
如果为True,XML文档不正确时,解析器将抛出一个例外。
如果为False,解析器将试图忽略非关键的警告,如基于XML的某些文件SOAP类型消息。
4.1.2.17.Root
propertyRoot:
TXmlNode;
根(Root)是在XML文件最上面的元素。
通过根阅读任何子元素。
当创建一个新的XML文档,您可以通过CreateName创建并自动包含根节点。
4.1.2.18.RootNodeList
propertyRootNodeList:
TXmlNode;
RootNodeList可用于直接访问XML文档的根的节点列表。
通常,这个列表是由一个声明节点跟着一个标准的根节点。
你可以使用这个属性来添加或删除注释(comments),样式(stylesheets),DTD的等
4.1.2.19.StyleSheetNode
propertyStyleSheetNode:
TXmlNode;
从此XML文件获取样式节点使用。
如果节点尚不存在,它将被创建(因此,如果你使用这个属性,并且不设置任何属性,一个空的样式节点将产生)。
4.1.2.20.UseFullNodes
propertyUseFullNodes:
boolean;
保存XML文档之前,设置UseFullNodes为True,以确保所有节点是由<Node>...</Node>为代表,而不是短版<Node/>。
UseFullNodes默认为False。
4.1.2.21.UseLocalBias
propertyUseLocalBias:
Boolean;
如果你在读写datetime值时,要考虑当地时差,将UseLocalBias设置为True。
UseLocalBias是默认为False。
4.1.2.22.Utf8Encoded
propertyUtf8Encoded:
boolean;
此属性是为向后兼容的:
NativeXml所有字符串都是UTF8Strings,内部编码始终是UTF8的编码。
4.1.2.23.VersionString
propertyVersionString:
UTF8String;
读完文档后,这个属性包含XML版本(通常是“1.0”)。
4.1.2.24.WriteOnDefault
propertyWriteOnDefault:
boolean;
如果你不想写默认值到XML文档,设置WriteOnDefault为False。
此选项可避免产生巨大的冗余信息的文件,并会加快写入。
4.1.2.25.XmlFormat
propertyXmlFormat:
TXmlFormatType;
默认情况下XmlFormat设置为xfCompact。
此设置是符合该规范,并NativeXml只会在XML文件中产生#$0A这个Ansi符号。
通过设置XmlFormat到xfReadable,你可以方便地生成易读的XML文件,其中包含每个元素缩进和回车。
4.1.2.26.Assign
procedureAssign(Source:
TPersistent);override;
当关联到一个TnativeXml的源对象,将会从源对象复制它的所有数据。
4.1.2.27.Clear
procedureClear;virtual;
调用Clear从对象中删除所有数据,并恢复所有默认值。
4.1.2.28.Create
constructorCreate;virtual;
创建一个新的NativeXml文档,可以用来读取或写入XML文件。
一个文档被创建,必须在后期使用Free释放。
例子1
var
ADoc:
TNativeXml;
begin
ADoc:
=TNativeXml.Create;
try
ADoc.LoadFromFile('c:
\temp\myxml.xml');
{dosomethingwiththedocumenthere}
finally
ADoc.Free;
end;
end;
4.1.2.29.CreateName
constructorCreateName(constARootName:
UTF8String);virtual;
使用CreateName创建一个新的XML文件,将自动包含一个名为ARootName根元素。
4.1.2.30.Destroy
destructorDestroy;override;
Destroy将释放在TNativeXml对象中的所有数据。
包括根节点下的所有子节点。
不要调用Destroy,直接的调用Free代替。
4.1.2.31.IsEmpty
functionIsEmpty:
boolean;virtual;
如果根是被清除的,换句话说,根本不包含任何价值,没有名字,没有子节点,并没有属性,函数IsEmpty返回True。
4.1.2.32.LoadFromFile
procedureLoadFromFile(constAFileName:
string);virtual;
调用LoadFromFile过程加载一个指定文件的名XML文件。
请参阅Create的例子。
当它遇到不正确的XML时,该LoadFromFile过程将引发EFilerError异常。
4.1.2.33.LoadFromStream
procedureLoadFromStream(Stream:
TStream);virtual;
从流对象TStream加载XML文档。
当它遇到不正确的XML,该LoadFromStream过程将引发EFilerError异常。
该方法可用于任何TStream的继承类。
另见LoadFromFile和ReadFromString。
4.1.2.34.ReadFromString
procedureReadFromString(constAValue:
UTF8String);virtual;
调用ReadFromString过程从UTF8String类型的Avalue装载XML文档。
当它遇到不正确的XML,该ReadFromString过程将引发EFilerError异常。
4.1.2.35.ResolveEntityReferences
procedureResolveEntityReferences;
当文档装载之后,调用ResolveEntityReferences,以解决任何当前实体引用(&Entity;)。
当在DTD中找到一个实体,它将取代实体引用。
当一个实体包含XML标记,它会被解析,并成为文档树的一部分。
由于调用ResolveEntityReferences增加了一些额外的开销,这不是自动完成的。
如果你想要做的实体更换,一个很好的时机是LoadFromFile之后调用ResolveEntityReferences。
4.1.2.36.SaveToFile
procedureSaveToFile(constAFileName:
string);virtual;
调用SaveToFile保存XML文档到一个指定文件名的文件。
如果文件存在,它将不经警告覆盖。
如果该文件不能被创建,就会产生一个标准I/O异常。
如果你希望文件包含XML的缩进,设置XmlFormat到xfReadable,使更多的人易读。
这不是默认的,也没有使用XML规范。
在保存之前,可以通过设置下面两个属性,保存为特殊的编码类型:
ExternalEncoding
EncodingString
ExternalEncoding可se8bit(纯ASCII码),seUtf8(UTF-8),seUtf16LE(Unicode)或seUtf16BE(大编码的Unicode)。
不要忘记,还要设置EncodingString(如“UTF-8”或“UTF-16”)这与你的ExternalEncoding匹配。
4.1.2.37.SaveToStream
procedureSaveToStream(Stream:
TStream);virtual;
调用SaveToStream保存XML文档到流。
流可以是任何TStream的后裔。
如果你想流包含XML的缩进,使更多的人易读,设置XmlFormat到xfReadable。
这不是默认的,也没有使用XML规范。
请参阅SaveToFile中有关如何保存特殊的编码信息。
4.1.2.38.WriteToString
functionWriteToString:
UTF8String;virtual;
调用WriteToString以保存XML文档到UTF8String。
如果您希望UTF8String包含XML的缩进,使更多的人易读,设置XmlFormat到xfReadable。
这不是默认的,也没有使用XML规范。
4.1.3.TPersistentAccess类
TPersistentAccess=class(TPersistent)
4.1.4.TReaderAccess类
TReaderAccess=class(TReader)
4.1.5.TsdBufferedReadStream类
TsdBufferedReadStream=class(TStream)
TsdBufferedReadStream是一个流的缓冲,它为另外的TStream建立读取缓冲区,并从流读取到缓冲区。
此流类型只能支持读取。
4.1.5.1.Create
constructorCreate(AStream:
TStream;Owned:
boolean);
通过Create方法为源流AStream创建读取流,此源流必须已经被初始化。
如Owned设置为True,源流将被TsdBufferedReadStream释放。
4.1.5.2.Destroy
destructorDestroy;override;
4.1.5.3.Read
functionRead(varBuffer;Count:
Longint):
Longint;override;
4.1.5.4.Seek
functionSeek(Offset:
Longint;Origin:
Word):
Longint;override;
4.1.5.5.Write
functionWrite(constBuffer;Count:
Longint):
Longint;override;
4.1.6.TsdBufferedStream类
TsdBufferedStream=class(TStream)
未实现。
4.1.6.1.Create
constructorCreate(AStream:
TStream;Owned:
Boolean);
4.1.6.2.Destroy
destructorDestroy;override;
4.1.6.3.Read
functionRead(varBuffer:
arrayofByte;Offset:
Longint;Count:
Longint):
Longint;override;
4.1.6.4.Seek
functionSeek(constOffset:
Int64;Origin:
TSeekOrigin):
Int64;override;
4.1.6.5.Write
functionWrite(constBuffer:
arrayofByte;Offset:
Longint;Count:
Longint):
Longint;override;
4.1.7.TsdBufferedWriteStream类
TsdBufferedWriteStream=class(TStream)
TsdBufferedWriteStream是一个流的缓冲,他为另外的Tstream建立只写缓冲区,并从缓冲区写入到流。
此流类型只能支持写入。
4.1.7.1.Create
constructorCreate(AStream:
TStream;Owned:
boolean);
通过Create方法为源流AStream创建目标缓冲流,这个目标流必须已经被初始化。
如Owned设置为True,目标流将被TsdBufferedWriteStream释放。
4.1.7.2.Destroy
destructorDestroy;override;
4.1.7.3.Read
functionRead(varBuffer;Count:
Longint):
Longint;override;
4.1.7.4.Seek
functionSeek(Offset:
Longint;Origin:
Word):
Longint;override;
4.1.7.5.Write
functionWrite(constBuffer;Count:
Longint):
Longint;override;
4.1.8.TsdCodecStream类
TsdCodecStream=class(TStream)
TsdCodecStream是读写编码文件的基本解析器类。
参见TsdUtf8Stream获取更多信息。
4.1.8.1.Encoding
propertyEncoding:
TstringEncodingType;
在写入流之前或者读取流之后,设置Encoding确定文档的编码类型。
4.1.8.2.OnUnicodeLoss
propertyOnUnicodeLoss:
TNotifyEvent;
如果有一个Unicode转换错误警告,此事件被调用。
4.1.8.3.WarningUnicodeLoss
propertyWarningUnicodeLoss:
boolean;
在装载一个XML文件后读取这个值。
如果有一个Unicode转换流失警告,他的值是True。
4.1.8.4.Create
constructorCreate(AStream:
TStream);virtual;
调用Create创建一个新的TsdCodectream,它以流AStream为基础进行输入或输出。
在第一次读取后,输入流类型将确定,而编码(Encoding)属性将进行相应的设置。
当使用Write写入数据到流中,编码(Encoding)属性必须在此之前设置,说明生产什么样的流。
4.1.8.5.Read
functionRead(varBuffer:
arrayofByte;Offset:
Longint;Count:
Longint):
Longint;override;
functionRead(varBuffer;Count:
Longint):
Longint;override;
4.1.8.6.Seek
functionSeek(constOffset:
Int64;Origin:
TSeekOrigin):
Int64;override;
functionSeek(Offset:
Longint;Origin:
Word):
Longint;override;
4.1.8.7.Write
functionWrite(constBuffer:
arrayofByt
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 翻译 NativeXml 帮助