VC++6.0中使用DOM创建XML文件,怎么缩进

VC++6.0中使用DOM创建XML文件,如何缩进
如题目所示,我在VC++中使用DOM创建XML文件,所有信息都在一行中,如何实现缩进?
谢谢兄弟姐妹们指点。

------解决方案--------------------
直接用CMarkup吧。
------解决方案--------------------
是想格式化xml文件吗?

vs08 好像有这项功能, ctrl+k ctrl+d
------解决方案--------------------
是想格式化xml文件吗?

vs08 好像有这项功能, ctrl+k ctrl+f
------解决方案--------------------
请参考一下,通过改变g_szStyle的内容可改变存储样式。

TCHAR g_szStyle[] = _T("<?xml version=\"1.0\"?>\n")
_T("<xsl:stylesheet version=\"1.0\" xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n")
_T("<xsl:output method = \"xml\" omit-xml-declaration = \"yes\" indent = \"yes\"/>\n")
_T(" <xsl:template match=\"/ | @* | node()\">\n")
_T(" <xsl:copy>\n")
_T(" <xsl:apply-templates select=\"@* | node()\"/>\n")
_T(" </xsl:copy>\n")
_T(" </xsl:template>\n")
_T("</xsl:stylesheet>\n");

bool SaveXMLFile(IXMLDOMDocument &xmlDoc, LPCTSTR szFilePathName)
{
BOOL bStyleOutput = FALSE;
IXMLDOMDocument xmlDocStyle;

COleException error;
if( xmlDocStyle.CreateDispatch(_T("Msxml2.DOMDocument"),&error))
{
xmlDocStyle.SetAsync(FALSE);

if(xmlDocStyle.loadXML(g_szStyle))
{
IHYXMLDOMDocument xmlDocResult;
if( xmlDocResult.CreateDispatch(_T("Msxml2.DOMDocument"),&error))
{
xmlDocResult.SetAsync(FALSE);
xmlDocResult.SetValidateOnParse(TRUE);
VARIANT vt;
VariantInit(&vt);
vt.vt = VT_DISPATCH;
vt.pdispVal = xmlDocResult.m_lpDispatch;
xmlDoc.transformNodeToObject(xmlDocStyle,vt);
xmlDocResult.save(COleVariant(szFilePathName));
bStyleOutput = TRUE;
}
}
}

if(bStyleOutput == FALSE)
{
xmlDoc.save(COleVariant(szFilePathName));
}

return true;
}
------解决方案--------------------
并非VC6的bug, \r\n在XML定义中属于空格,而空格在XML的定义里属于文本内容的东西,是不能随便去掉的和添加的。添加或者去掉空格都改变了原来XML原始意义。