delphi 操作 XML (二)

本文详细介绍了Delphi中用于XML操作的TNativeXml类,包括其主要属性如ComponentState、AbortParsing、BinaryEncoding等,以及方法如LoadFromFile、SaveToFile、ResolveEntityReferences等,展示了如何创建、加载、保存和解析XML文档。同时,还探讨了事件如OnNodeNew、OnNodeLoaded的使用,以及XML文件的编码和格式设置。
摘要由CSDN通过智能技术生成
四、符号引用(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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值