Tob*_*len 15 xml delphi text-formatting pretty-print
任何人都有一个现成的函数,它将采用XML字符串并返回正确缩进的字符串?
例如
<XML><TAG1>A</TAG1><TAG2><Tag3></Tag3></TAG2></XML>
Run Code Online (Sandbox Code Playgroud)
并在插入换行符和制表符或空格后返回格式良好的String?
gab*_*abr 10
使用OmniXML:
program TestIndentXML;
{$APPTYPE CONSOLE}
uses
SysUtils,
OmniXML,
OmniXMLUtils;
function IndentXML(const xml: string): string;
var
xmlDoc: IXMLDocument;
begin
Result := '';
xmlDoc := CreateXMLDoc;
if not XMLLoadFromAnsiString(xmlDoc, xml) then
Exit;
Result := XMLSaveToAnsiString(xmlDoc, ofIndent);
end;
begin
Writeln(IndentXML('<XML><TAG1>A</TAG1><TAG2><Tag3></Tag3></TAG2></XML>'));
Readln;
end.
Run Code Online (Sandbox Code Playgroud)
上面的代码片段被释放到公共域.