TXFAPacketDOM Class

TXFAPacketDOM = class
  constructor Create;
  constructor Create(const ALimits: TXFADOMLimits);
  procedure NewXDPStream;
  procedure NewPacketArray;
  procedure LoadXDPStream(const ABytes: TBytes);
  procedure LoadPacketArray(const APackets: array of TXFAPacketData);
  function FindPacket(const APacketName: AnsiString): TXFANode;
  function SelectNodes(const APacketName, APath: AnsiString): TArray;
  function AddPacket(const APacketName: AnsiString; const ARootName: AnsiString = '';
    const ANamespaceURI: AnsiString = ''; const APrefix: AnsiString = ''): TXFANode;
  function RemovePacket(const APacketName: AnsiString): Boolean;
  procedure RenamePacket(const AOldName, ANewName: AnsiString);
  function IsModified: Boolean;
  function SerializeXDPStream: TBytes;
  function SerializePacketArray: TArray;
  property Mode: TXFADOMStorageMode;
  property PacketCount: Integer;
  property PacketNames[AIndex: Integer]: AnsiString;
  property PacketRoots[AIndex: Integer]: TXFANode;
end;

The class owns every parsed node and returns defensive byte copies while preserving exact untouched payloads

XFA 数据包 DOM