2012-08-03 77 views
0

我想在Visual Basic中处理xml文件。当我尝试使用DOMDOCUMENT visual basic显示错误。它不承认什么是文件。我必须打电话给任何图书馆才能使其工作。看看我的代码在visual basic中的domdocument问题

Attribute VB_Name = "Module1" 
Function getDistance(Origin As String, Destination As String) As Double 
    Dim HttpReq As Object 
    Dim myDomDoc As DOMDocument60 
    Dim distanceNode As IXMLDOMNode 
    Set HttpReq = CreateObject("MSXML2.XMLHTTP") 
    HttpReq.Open "GET", "http://maps.googleapis.com/maps/api/distancematrix/xml?origins=" & Origin & "&destinations=" & Destination & "&sensor=false", False 
    HttpReq.send 
    MsgBox HttpReq.responseText 
    Set myDomDoc = New DOMDocument60 
    myDomDoc.LoadXML HttpReq.responseText 
    Set distanceNode = myDomDoc.SelectSingleNode("/DistanceMatrixResponse/row/element/distance/value") 
    getDistance = distanceNode.Text/1000 
End Function 
+0

看到这一点。 http://stackoverflow.com/questions/11305/how-to-parse-xml-in-vba – 2012-08-03 08:03:00

+0

顺便说一句,这与Visual Studio有什么关系? – 2012-08-03 08:03:26

+0

为了使用DomDocument,你必须引用'Microsoft XML,v6.0'库。 – CaBieberach 2012-08-03 08:19:01

回答

0

项目引用:

System.XML 

添加Imports System.Xml到您的进口清单

创建可变类似于:

Dim MyXMLDoc As New XmlDocument 

要加载的文件用途:

MyXMLDoc.Load("Document path here") 

要读取节点类似这样的东西应该工作:

Dim Items as Xml.XmlNodeList = MyXMLDoc.SelectNodes("ParentNode/ChildNodes") 
Dim Item as Xml.XmlNode 
Try 
    For Each Item in Items 
    Dim randomstring As String = Item.GetAttributes.GetNamedItem("ItemName").value 
    Next 
Catch ex As Exception 
End Try 

等等

希望这是轻度有用