在顶部添加命名空间
xmldoc.setProperty "SelectionNamespaces", "xmlns:content=""http://www.w3.org/2005/Atom"""
代码:
Option Explicit
Private Sub test1()
Dim xmldoc As MSXML2.DOMDocument60
Dim xmlNamespace As String
Dim nodeList As MSXML2.IXMLDOMNodeList
Dim node As MSXML2.IXMLDOMNode
Dim xml As String
Set xmldoc = New MSXML2.DOMDocument60
xmlNamespace = "xmlns:d='http://schemas.microsoft.com/ado/2007/08/dataservices' xmlns='http://www.w3.org/2005/Atom'"
xmldoc.setProperty "SelectionNamespaces", xmlNamespace
xmldoc.setProperty "SelectionLanguage", "XPath"
xmldoc.setProperty "SelectionNamespaces", "xmlns:content=""http://www.w3.org/2005/Atom"""
xml = "<?xml version=""1.0""?>" & _
"<entry xml:base=""https://example.com/Sites/xyz/_api/"" xmlns=""http://www.w3.org/2005/Atom"" xmlns:d=""http://schemas.microsoft.com/ado/2007/08/dataservices"" xmlns:m=""http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"" xmlns:georss=""http://www.georss.org/georss"" xmlns:gml=""http://www.opengis.net/gml"" m:etag="""39""">" & _
"<id>Web/Lists(guid'abc')/Items(597)</id>" & _
"<category term=""SP.Data.xListItem"" scheme=""http://schemas.microsoft.com/ado/2007/08/dataservices/scheme""/>" & _
"<link rel=""edit"" href=""Web/Lists(guid'abc')/Items(597)""/>" & _
"<title/>" & _
"<updated>2018-07-28T02:06:34Z</updated>" & _
"<author>" & _
"<name/>" & _
"</author>" & _
"<content type=""application/xml"">" & _
"<m:properties>" & _
"<d:Id m:type=""Edm.Int32"">597</d:Id>" & _
"<d:xId m:type=""Edm.Int32"">59</d:xId>" & _
"<d:x2Id m:type=""Edm.Int32"">0</d:x2Id>" & _
"<d:ID m:type=""Edm.Int32"">597</d:ID>" & _
"</m:properties>" & _
"</content>" & _
"</entry>"
If Not xmldoc.LoadXML(xml) Then
Err.Raise xmldoc.parseError.ErrorCode, , xmldoc.parseError.reason
Exit Sub
End If
Set node = xmldoc.SelectSingleNode("//content:content")
Debug.Print node.Text
End Sub