我用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
解决方案 »
- 关于控件进入鼠标捕获以后,不能操作滚动条的问题
- 运行程序提醒出现"实时错误'6'"是什么原因?
- 100分请教高手,使用iNET控件,如果取得ftp中指定目录下的所有文件名?
- 在access数据库的ole对象里插入了word文档,如何输出?
- 问一个关于Excel自动填写的操作如何实现
- viena(维也纳nn-实心木头人)请进,各位高手请进!!小弟分不够了,还请多多包涵!
- [求救]怎么样把数据库中的数据调入数组中?
- 我想在VB程序中启动另一个程序,而且要同步等待这个程序结束后返回才接着运行下面的代码,该如何实现?
- 如何在vb程序中调用winzip,是文本文件压缩成zip文件,谢谢
- 我是一位VB初学者 请各位高手帮忙~~~~~~~~~!!!!!
- 我想让数据更新自动获取日期,为什么不行?该怎么解决?
- 又来了,数值的转换问题
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进行解析。