我用VB,使用POST从一个网站获取一个XML,之后想对该xml的内容进行解析 用Responsetext可以正确显示收到xml文档的内容,但是作为TEXT解析时却不方便。
所以想把接收到的内容直接当作一个XML文档进行解析,因为这样可以方便地搜索它的各个节点的属性和内容。 Dim XmlDoc As DOMDocument XmlHttp.Open "POST", strURL, False
XmlHttp.send If XmlHttp.Status = 200 Then
'XmlDoc.loadXML (XmlHttp.responseXML)
set XmlDoc = XmlHttp.responseXML
End If 好像responseXML返回的是一个DOMDocument对象,可试了这两种方法都不对,
试着打印出的节点名都是收到的xml文档中没有的,如"#Document","xml" 我刚刚接触XML,还请各位大侠不吝赐教
如何能把POST接收到内容,作为XML文档进行解析? VB , WinXP , Microsoft XML5.0
所以想把接收到的内容直接当作一个XML文档进行解析,因为这样可以方便地搜索它的各个节点的属性和内容。 Dim XmlDoc As DOMDocument XmlHttp.Open "POST", strURL, False
XmlHttp.send If XmlHttp.Status = 200 Then
'XmlDoc.loadXML (XmlHttp.responseXML)
set XmlDoc = XmlHttp.responseXML
End If 好像responseXML返回的是一个DOMDocument对象,可试了这两种方法都不对,
试着打印出的节点名都是收到的xml文档中没有的,如"#Document","xml" 我刚刚接触XML,还请各位大侠不吝赐教
如何能把POST接收到内容,作为XML文档进行解析? VB , WinXP , Microsoft XML5.0
Dim x As New MSXML2.XMLHTTP
x.open "get", strURL, False
x.send Debug.Print StrConv(x.responseBody, vbUnicode)
Dim x As New MSXML2.XMLHTTP
x.open "get", strURL, False
x.send
Dim xmlDoc As New DOMDocument
xmlDoc.loadXML x.responseText
Debug.Print xmlDoc.documentElement.Text
End Sub
我试了还是不可以。
Private Sub Command1_Click()
Dim x As New MSXML2.XMLHTTP
x.open "get", strURL, False
x.send
Dim xmlDoc As New DOMDocument
xmlDoc.loadXML x.responseText
Debug.Print xmlDoc.documentElement.Text
End Sub
;debug输出的结果是空的改了下,尝试下面的
Private Sub Command1_Click()
Dim x As New MSXML2.XMLHTTP
Dim XML_Node As IXMLDOMNode
x.open "get", strURL, False
x.send
Dim xmlDoc As New DOMDocument
xmlDoc.loadXML x.responseText
Debug.Print xmlDoc.NodeName
set XML_Node = xmlDoc.childNodes(1)
Debug.Print XML_Node.NodeName
End Sub
;如上程序,输出结果是:
#document
#comment
仍然不正确下面是用responseText的时候,可以正确显示
Private Sub Command1_Click()
Dim x As New MSXML2.XMLHTTP
x.open "get", strURL, False
x.send
If x.Status = 200 Then
Debug.Print x.responseText
End If
End Sub
这时输出的就是正确的xml内容如下:
<?xml version="1.0" encoding="UTF-8"?><OnlineData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="0.09.0005"><OnlineResult><Success /><Errors /></OnlineResult></OnlineData>怎样才能把这个结果作为XML文档进行解析呢?
Private Sub Command1_Click()
Dim xmlDoc As New DOMDocument
Dim xmlRootElement As IXMLDOMElement
Dim xmlError As IXMLDOMParseError
Dim Success As Boolean xmlDoc.async = False
xmlDoc.validateOnParse = True Success = xmlDoc.Load(strURL)
If Success = True Then
Set xmlRootElement = xmlDoc.documentElement
Debug.Print xmlRootElement.Text
Else
MsgBox "查询失败!"
End If
Set xmlRootElement = Nothing
Set xmlError = xmlDoc.parseError
Set xmlError = Nothing
End Sub
至于结果怎么解析,那是处理字符串的问题了。
最后还是写了段字符串处理的程序,对text进行解析。