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