Set oXMLDoc = createObject("MSXML2.DOMDocument")
oXMLDoc.async = false
oXMLDoc.Load sFullPath
aFields = Split(sField, "|")
aValues = Split(sValue, "|")
' This won't handle pipe separated multi-instance fields..
' Also - doesn't save tmp copy to Edited folder..
oReferenceNode = "//record/ehaus/"
Set oParentNode = oXMLDoc.documentElement.selectSingleNode(oReferenceNode)
For i = 0 To UBound(aFields)
Set oNode = oXMLDoc.DocumentElement.selectSingleNode( oReferenceNode & aFields(i))
If Not oNode Is Nothing Then
oNode.text = aValues(i)
Else
Set oNode = oXMLDoc.createElement(aFields(i))
oNode.text = aValues(i)
oParentNode.appendChild(oNode)
End if
Next
'Set oUpdatedNode = oXMLDoc.DocumentElement.SelectSingleNode(oReferenceNode & "eh_last_updated")
'If oUpdatedNode Is Nothing Then
' Set oUpdatedNode = oXMLDoc.CreateNode(1,"eh_last_updated","")
' oXMLDoc.DocumentElement.AppendChild(oUpdatedNode)
'End If
'oUpdatedNode.Text = Year(Now()) & PadZ(Month(Now()),2) & PadZ(Day(Now()),2)
Set oUpdatedNode = oXMLDoc.DocumentElement.SelectSingleNode( oReferenceNode & "eh_last_updated")
If Not oUpdatedNode Is Nothing Then
oUpdatedNode.Text = Year(Now()) & PadZ(Month(Now()),2) & PadZ(Day(Now()),2)
Else
Set oUpdatedNode = oXMLDoc.createElement("eh_last_updated")
oUpdatedNode.Text = Year(Now()) & PadZ(Month(Now()),2) & PadZ(Day(Now()),2)
oParentNode.AppendChild(oUpdatedNode)
End If
<record>
<author>S., R. Crockett|Samuel, Rutherford Crockett</author>
<availability>Available</availability>
<preferences>
<title>test title</title>
<last_modified>20080411</last_modified>
<feature>Y</feature>
<preferences>
</record>
<p>Microsoft VBScript runtime </font> <font face="Arial" size=2>error '800a01a8'</font>
<p>
<font face="Arial" size=2>Object required: 'oXMLDoc.DocumentElement'<
<p>
line 57--> Set oParentNode = oXMLDoc.documentElement.se
Open in new window