Я пытаюсь понять MSXML и его использование. У меня есть проект, где мне нужно прочитать узел и все его содержимое из XML-файла, а затем скопировать этот узел в другие XML-файлы. Я застрял в добавлении дочернего узла. Я думаю, что делаю все правильно, но я продолжаю получать ошибку «Объект не поддерживает это свойство или метод».Добавить узел к узлу в XML
Он висит на «xNode2.appendChild (XElement)»
Я прикреплял процедуру я работаю.
Если кто-то может дать мне какое-то направление, было бы очень признательно.
Dim xDoc As DOMDocument60, xDoc2 As DOMDocument60, xNode As IXMLDOMElement, _
xmlStr As String, xSub As IXMLDOMNode, xNode2 As IXMLDOMElement
Set xDoc = New DOMDocument60
'Attempt to load the backup file for the selected printer.
If xDoc.Load("C:\Program Files\ID Technology\CiControl\Backup Files\" & _
main.printerView.SelectedItem.Key & "\" & _
Format(Date, "mm.dd.yy") & ".xml") Then
'Find the message xml in the backup file.
Set xNode = xDoc.selectSingleNode("//Messages/Message[Name='" & msgView.SelectedItem & "']")
'Begin extracting all of the message xml.
For Each xSub In xNode.childNodes
Debug.Print xSub.xml
'Build the xml string.
xmlStr = xmlStr & xSub.xml
Next
Set xDoc2 = New DOMDocument60
xDoc2.Load ("C:\Program Files\ID Technology\CiControl\Backup Files\127.0.0.1\" _
& Format(Date, "mm.dd.yy") & ".xml")
'Set xNode2 = xDoc2.createElement("Message")
Set xNode2 = xDoc2.selectSingleNode("//Messages")
Dim xElement As IXMLDOMElement
Set xElement = xDoc2.createElement("Message")
xElement.Text = xmlStr
xNode2.appendChild (xElement)
'xDoc2.documentElement.appendChild (xNode2)
xDoc2.save ("C:\Program Files\ID Technology\CiControl\Backup Files\127.0.0.1\" & _
Format(Date, "mm.dd.yy") & ".xml")
End If
Set xDoc = Nothing
Set xNode = Nothing
Set xSub = Nothing
Set xDoc2 = Nothing
Set xNode2 = Nothing
Добро пожаловать в SO! Можете ли вы указать точную строку кода, которая получает ошибку? – Derek
Я получаю сообщение об ошибке: xNode2.appendChild (xElement) Где я иду не так. – user2962310
@ user2962310 У вас есть какое-либо решение проблемы? У меня почти такая же проблема. –