7

もともとスペース インデント (ネストされた項目ごとに 2 つのスペース) を使用してフォーマットされている XML ファイルがあります。

IXMLDocument を使用してこのファイルを読み込んで保存すると、スペースのインデントがタブ文字 (コード #9) に変わります。

コードは次のとおりです。

 var
   FileName: String;
   Document: IXMLDocument;
 ...
 Document := XMLDoc.LoadXMLDocument(FileName);
 Document.SaveToFile(FileName);

NodeIndentStrプロパティを使用しようとしました-結果はありません:

 Document := XMLDoc.LoadXMLDocument(FileName);
 Document.NodeIndentStr := '  ';
 Document.SaveToFile(FileName);

あまりにも使用FormatXMLData- 結果なし:

 Document := XMLDoc.LoadXMLDocument(FileName);
 Document.XML.Text := XMLDoc.FormatXMLData(Document.XML.Text);
 Document.Active := True;
 Document.SaveToFile(FileName);

タブ文字の代わりにスペース インデントを使用して保存するにはどうすればよいですか?

4

2 に答える 2

11

IXMLDocument空白を保持するようにパーサーに指示できるオプションがあります。

次のように使用します。

Document.ParseOptions := 
  Document.ParseOptions+[poValidateOnParse]+[poPreserveWhiteSpace]; 

免責事項:私は試していません。

于 2012-04-18T09:48:41.020 に答える