我有以下代码从XML页面获取响应文本,但它返回了页面中的所有内容:
Private Sub Testing()
Dim xmlhttp As New MSXML2.XMLHTTP60, myurl As String
myurl = "http://schemas.xmlsoap.org/soap/envelope/"
xmlhttp.Open "GET", myurl, False
xmlhttp.send
newstring = xmlhttp.responseText
Sheet1.Range("B2") = newstring
End Sub
myurl中的URL仅作为示例。我要获取的URL在Intranet站点中,但这具有类似的结构。
以下URL标记不可用。我以网址为例来说明文档的类型。
假设在页面中间有一个如下所示的标签:
<FIELD NAME="str2">097cf4a8-2755-4c62-939c-9402e0a4e3e2</FIELD>
我怎么只得到这个“ 097cf4a8-2755-4c62-939c-9402e0a4e3e2” ? str2 是唯一的。
答案 0 :(得分:1)
这里是使用公开文档的示例。给出了标签和属性值组合选择的原理。
Option Explicit
Public Sub Testing()
Dim xmlhttp As New MSXML2.XMLHTTP60, myurl As String
myurl = "http://www.chilkatsoft.com/xml-samples/bookstore.xml"
xmlhttp.Open "GET", myurl, False
xmlhttp.send
Dim xmlDoc As New MSXML2.DOMDocument60
Set xmlDoc = New MSXML2.DOMDocument60
xmlDoc.LoadXML xmlhttp.responseText
Debug.Print xmlDoc.SelectSingleNode("//userComment[@rating=""3""]").Text
End Sub
来源:
输出: