vim
vim

Reputation: 874

add xml as a child node in exsiting xml using vb6

I have existing xml and trying to add an new xml as a child node.but it converting child xml in weird format.Child xml's all the tag < converted as &lt and all /> converted in &gt

I am using this vb code

objAdjoin.appendChild .createElement("DOCCHKLIST")
        objAdjoin.selectSingleNode("DOCCHKLIST").appendChild .createTextNode(DocCheckListXML)

Child XML :

   <DOCCHKLIST><DOCCHK><CDSEQGER>800</CDSEQGER><RLOSDOCSEQNO>MCV3453</RLOSDOCSEQNO><CLSEQNO>1</CLSEQNO></DOCCHK><DOCCHK><CDSEQGER>801</CDSEQGER><RLOSDOCSEQNO>MCV3453</RLOSDOCSEQNO><CLSEQNO>1</CLSEQNO></DOCCHK></DOCCHKLIST>

Output :

<Message><Output><AANO>MMG050069</AANO><LOADSCLSEQ>MMG050069</LOADSCLSEQ><RLOSCOLLSEQNO>SKE050003</RLOSCOLLSEQNO><CLCHKLSTTYPE>ASNB/UTRS</CLCHKLSTTYPE><DOCCHKLIST>&lt;DOCCHK&gt;&lt;CDSEQGER&gt;800&lt;/CDSEQGER&gt;&lt;RLOSDOCSEQNO&gt;MCV3453&lt;/RLOSDOCSEQNO&gt;&lt;CLSEQNO&gt;1&lt;/CLSEQNO&gt;&lt;/DOCCHK&gt;&lt;DOCCHK&gt;&lt;CDSEQGER&gt;801&lt;/CDSEQGER&gt;&lt;RLOSDOCSEQNO&gt;MCV3453&lt;/RLOSDOCSEQNO&gt;&lt;CLSEQNO&gt;1&lt;/CLSEQNO&gt;&lt;/DOCCHK&gt;</DOCCHKLIST><Status>00</Status><ErrorMessage>Processing Complete</ErrorMessage></Output></Message>

Upvotes: 0

Views: 208

Answers (1)

lardymonkey
lardymonkey

Reputation: 768

Without adding the child nodes individually I have managed to get it to work as follows:

Private Sub Command_Click()
Dim objDomDoc   As DOMDocument60
Dim objDom1     As DOMDocument60
Dim strParent   As String
Dim strChild    As String
Dim objAdJoin   As IXMLDOMElement

strParent = "<Message><Output><AANO>MMG050069</AANO><LOADSCLSEQ>MMG050069</LOADSCLSEQ><RLOSCOLLSEQNO>SKE050003</RLOSCOLLSEQNO><CLCHKLSTTYPE>ASNB/UTRS</CLCHKLSTTYPE></Output></Message>"
strChild = "<DOCCHKLIST><DOCCHK><CDSEQGER>800</CDSEQGER><RLOSDOCSEQNO>MCV3453</RLOSDOCSEQNO><CLSEQNO>1</CLSEQNO></DOCCHK><DOCCHK><CDSEQGER>801</CDSEQGER><RLOSDOCSEQNO>MCV3453</RLOSDOCSEQNO><CLSEQNO>1</CLSEQNO></DOCCHK></DOCCHKLIST>"

Set objDomDoc = New DOMDocument60
Set objDom1 = New DOMDocument60

objDomDoc.loadXML (strParent)
objDom1.loadXML strChild

Set objAdJoin = objDomDoc.firstChild

objAdJoin.appendChild objDomDoc.createElement("DOCCHKLIST")
objAdJoin.selectSingleNode("DOCCHKLIST").appendChild objDom1.firstChild

Debug.Print objAdJoin.xml

End Sub

You will need to check the parseError property to see if there have been any issues with the load. You will also end up with two nodes called DOCCHKLIST.

Upvotes: 1

Related Questions