If you don't want to use xsl, you could just insert vbcrlfs.
Every ">" should follow vbcrlf, except when ">" is followed by a number. Then create new xml file from that string - now it has new lines and indents.
msaccess vba:
Dim objDom As DOMDocument
Set objDom = CreateObject("MSXML2.DOMDocument")
create document with objDom.append, then play with string(my xml had just numbers):
ss = objectDom.XML
For i = 1 To Len(ss)
c = Mid(ss, i, 1)
If InStr(1, Mid(ss, i, 1), ">") > 0 Then
a = Asc(Mid(ss, i + 1, 1))
If a < 48 Or a > 57 Then
ss1 = Mid(ss, 1, i)
ss2 = Mid(ss, i + 1, Len(ss))
ss = Mid(ss, 1, i) & vbCrLf & Mid(ss, i + 1, Len(ss))
End If
End If
Next i
objDom.loadXML ss
objDom.Save (file_path)