加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何以编程方式重新格式化XML?

发布时间:2020-12-16 23:26:45 所属栏目:百科 来源:网络整理
导读:我有一个关于输入的 XML文档,格式很糟糕(如果有人关心的话,它是Delphi项目文件) – 不一致的缩进,空行,节点字符串集中在一起: BorlandProjectDelphi.PersonalityParametersParameters Name="HostApplication"C:SomePathFilename.exe/Parameters !--etc--
我有一个关于输入的 XML文档,格式很糟糕(如果有人关心的话,它是Delphi项目文件) – 不一致的缩进,空行,节点字符串集中在一起:

<BorlandProject><Delphi.Personality><Parameters><Parameters Name="HostApplication">C:SomePathFilename.exe</Parameters> <!--etc--> <Excluded_Packages>


</Excluded_Packages>

我想将它重新格式化为好的东西.使用Win32 / COM以编程方式执行此操作的最简单方法是什么?如果是MSXML,我该怎么办呢?

我希望能够指定缩进单位(制表符/几个空格).

我尝试使用Delphi的MSXML包装器TXmlDocument,它确实删除了带有制表符的空行和缩进节点,但它不会像这样拆分行:

<BorlandProject><Delphi.Personality><Parameters><Parameters Name="HostApplication">C:SomePathFilename.exe</Parameters> <!--etc--> <Excluded_Packages>

解决方法

我在delphi项目文件中测试了 FormatXMLData函数并且正常工作,正确地缩进所有行.

检查此代码.

uses
 XMLIntf,XMLDoc;

Procedure FormatXMLFile(const XmlFile:string);
var
   oXml : IXMLDocument;
 begin
   oXml := TXMLDocument.Create(nil);
   oXml.LoadFromFile(XmlFile);
   oXml.XML.Text:=xmlDoc.FormatXMLData(oXml.XML.Text);
   oXml.Active := true;
   oXml.SaveToFile(XmlFile);
 end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读