|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: MSXML: New document built has only one line.
Hi Christine,
This might help you. It's code from some of our samples that pretty prints
the DOM content. If the document read in has formatting, it is preserved in
the DOM, but as you point out, unless you add in specific text nodes, you
don't get pretty print. Pass in to this function your DOMDocument and a
string containing a tab (which is the character to use for indent).
Best regards,
Dan Rogers
Microsoft Corporation
Public Sub PrettyFormatXMLDoc(ByRef objDom As IXMLDOMNode, ByVal strIndent
As String)
' In order traversal, visit the root then the children
'
Dim objChild As IXMLDOMNode
Dim objNew As IXMLDOMNode
Static indentOrigLen as integer
If indentOrigLen = 0 then indentOrigLen = len(strIndent)
If objDom.childNodes.length > 0 Then
For Each objChild In objDom.childNodes
PrettyFormatXMLDoc objChild, strIndent & left$(strIndent,
indentOrigLen)
If objDom.nodeType = NODE_ELEMENT Then
Set objNew = objDom.ownerDocument.createNode(NODE_TEXT,
vbNullString, vbNullString)
objNew.nodeValue = vbCrLf & strIndent
Set objNew = objDom.insertBefore(objNew, objChild)
Set objNew = Nothing
End If
Next
If objDom.nodeType = NODE_ELEMENT Then
Set objNew = objDom.ownerDocument.createNode(NODE_TEXT,
vbNullString, vbNullString)
objNew.nodeValue = vbCrLf & Left(strIndent, Len(strIndent) - 1)
Set objNew = objDom.appendChild(objNew)
Set objNew = Nothing
End If
End If
End Sub
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








