用C ++或Qt格式化XML文件 [英] Format XML file in c++ or Qt

查看:210
本文介绍了用C ++或Qt格式化XML文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个XML文件,其中的输出未格式化.这意味着所有输出都在同一行中,但是我想逐个标签地将其打断.

I have an XML file where outputs are not getting formatted. That means all the outputs are in a single line but I want to break it tag by tag.

例如-

<?xml version="1.0" encoding="UTF-8" standalone="no" ?><Analyser>   <JointDetails>              <Details><StdThickness> T </StdThickness><Thickness_num> 0.032 </Thickness_num></Details>   </JointDetails></Analyser>

但是我想这样做::

<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<Analyser>  
 <JointDetails>
   <Details>
<StdThickness> T </StdThickness>
<Thickness_num> 0.032 </Thickness_num>
</Details> 
  </JointDetails>
</Analyser>

请不要在编写XML文件时建议这样做,因为该XML文件已经存在,但现在我必须如上所述对其进行格式化.

Please don't suggest to do it while writing the XML file because this XML file is already there but now I have to format it as mentioned above.

推荐答案

void format(void)
{
    QDomDocument input;

    QFile inFile("D:/input.xml");
    QFile outFile("D:/output.xml");

    inFile.open(inFile.Text | inFile.ReadOnly);
    outFile.open(outFile.Text | outFile.WriteOnly);

    input.setContent(&inFile);

    QDomDocument output(input);
    QTextStream stream(&outFile);
    output.save(stream, 2);
}

这篇关于用C ++或Qt格式化XML文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆