Well, the web service you are trying to access: https://api.competitionsuite.com/2013-02/Performances/?c=cce9ab64-5d54-44e4-a13e-f3b9528a5909 by default returns JSON instead of XML, but can also return XML with a bit more work. You’ll need to send an additional HTTP Header to the Web Service. This function will do the job: Function LoadXML(url As String) Dim oHttp As Object Set oHttp = CreateObject("MSXML2.XMLHTTP") oHttp.Open "GET", url, False ‘ Tell the web service to return XML instead of JSON
oHttp.setRequestHeader "Accept", "text/xml" oHttp.send Set LoadXML = oHttp.responseXML End Function And then change the call to xmlObj.Load for: Set objXML = LoadXML("https://api.competitionsuite.com/2013-02/Performances/?c=cce9ab64-5d54-44e4-a13e-f3b9528a5909") De: Tom Martin [mailto:tomdmartin@gmail.com]
Hey - this seems to be working...now I have another problem... Dim objXML As New MSXML2.DOMDocument Dim NodeList As MSXML2.IXMLDOMNodeList Dim xNode As MSXML2.IXMLDOMNode objXML.async = False objXML.Load ("https://api.competitionsuite.com/2013-02/Performances/?c=cce9ab64-5d54-44e4-a13e-f3b9528a5909") Set NodeList = objXML.selectNodes("//ArrayOfCompetition/Competition/EventName") For Each xNode In NodeList Combo1.AddItem xNode.Text List1.AddItem xNode.Text Next What am I missing? Can I use Microsoft Internet Transfer Control and save it out locally as an XML file? Tom On Sat, Jun 14, 2014 at 6:20 PM, William Velasquez <wvelasquez@visiontecnologica.com> wrote: Sorry the correct type for Nodelist is XMLDOMNodeList Enviado desde Samsung Mobile de Claro, perdón por lo escueto. Hey - thanks - that got me past one error now I have another.... Private Sub Command1_Click() Dim objXML As New MSXML2.DOMDocument Dim NodeList As MSXML2.IXMLDOMNode Dim xNode As MSXML2.IXMLDOMNode objXML.async = False objXML.Load ("C:\Documents and Settings\Tom\Desktop\new xml test aop.xml") Set NodeList = objXML.selectNodes("//ArrayOfCompetition/Competition/EventName") For Each xNode In NodeList Print xNode.Text Next End Sub
Set NodeList = objXML.selectNodes("//ArrayOfCompetition/Competition/EventName") Here is a snippet of the xml from the beginning.... <?xml version="1.0" encoding="utf-8" ?> - <ArrayOfCompetition xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/Web.Controllers"> - <Competition> <ChiefJudge /> <CompetitionGuid>72a399f8-480c-4743-9c14-4357a77582ce</CompetitionGuid>
<CompetitionName /> <Date>2014-06-26T09:00:00</Date> <EventName>Southwest Corps Connection</EventName> <GroupTypeID>4</GroupTypeID> <IsCurrentSeason>true</IsCurrentSeason> <Location>Mesa AZ</Location> <OrgCompetitionID>0</OrgCompetitionID> <PerformancesUrl>https://api.competitionsuite.com/2013-02/Performances/?c=72a399f8-480c-4743-9c14-4357a77582ce</PerformancesUrl>
<RecapReleased>false</RecapReleased> <RecapUrl>http://recaps.competitionsuite.com/72a399f8-480c-4743-9c14-4357a77582ce.htm</RecapUrl>
<SeasonGuid>348fac28-d10c-47e5-8753-802512df9904</SeasonGuid>
<SeasonName>2014</SeasonName> </Competition> - <Competition> <ChiefJudge /> <CompetitionGuid>20c36756-adf0-47f8-8edb-30db18b6dbb6</CompetitionGuid>
<CompetitionName /> <Date>2014-06-25T09:00:00</Date> <EventName>Drums on the Ohio</EventName> <GroupTypeID>4</GroupTypeID> <IsCurrentSeason>true</IsCurrentSeason> <Location>Evansville IN</Location> <OrgCompetitionID>0</OrgCompetitionID> <PerformancesUrl>https://api.competitionsuite.com/2013-02/Performances/?c=20c36756-adf0-47f8-8edb-30db18b6dbb6</PerformancesUrl>
<RecapReleased>false</RecapReleased> <RecapUrl>http://recaps.competitionsuite.com/20c36756-adf0-47f8-8edb-30db18b6dbb6.htm</RecapUrl>
<SeasonGuid>348fac28-d10c-47e5-8753-802512df9904</SeasonGuid>
<SeasonName>2014</SeasonName> </Competition>
Tom On Sat, Jun 14, 2014 at 5:08 AM, Martin Honnen <Martin.Honnen@gmx.de> wrote: Tom Martin wrote: The code that you provided was helpful and here is what I did attached The code posted by William used |