Maybe this will help:
PHP Code:
Sub DemoXYZ()
Dim oDoc As Word.Document
Dim oCustXMLPart As Office.CustomXMLPart
Dim oNode As CustomXMLNode
Dim lngIndex As Long
Set oDoc = ActiveDocument
'Kill any existing XMLPart used previously for mapping.
On Error Resume Next
oDoc.CustomXMLParts.SelectByNamespace("http://nsDemo").Item(1).Delete
On Error GoTo 0
'Create a basic XML Part with namespace.
Set oCustXMLPart = ActiveDocument.CustomXMLParts.Add("<?xml version='1.0' encoding='utf-8'?><Root_Node xmlns='http://nsDemo'></Root_Node>")
For lngIndex = 1 To 3
oCustXMLPart.AddNode oCustXMLPart.SelectSingleNode("/ns0:Root_Node"), "Node_" & lngIndex
Set oNode = oCustXMLPart.SelectSingleNode("/ns0:Root_Node[1]/Node_" & lngIndex & "[1]")
oNode.Text = "Demo text " & lngIndex
Next lngIndex
'This is what you've got:
Debug.Print oCustXMLPart.XML
Set oCustXMLPart = Nothing
'Set part by namespace
Set oCustXMLPart = oDoc.CustomXMLParts.SelectByNamespace("http://nsDemo").Item(1)
For Each oNode In oCustXMLPart.DocumentElement.ChildNodes
Debug.Print "My text is: " & oNode.Text & ". My xPath is: " & oNode.XPath
Next oNode
'Or
Set oNode = oCustXMLPart.SelectSingleNode("/ns0:Root_Node/Node_1[1]")
MsgBox oNode.Text
lbl_Exit:
Exit Sub
End Sub