我正在研究一個計劃項目的可行性,即消耗來自Web服務器的一些數據。你可以從訪問中使用xml嗎?
並非是接入開發商自己,我想知道:
- 是否有可能從Access數據庫中使用XML?
- xml是否可以在通過身份驗證的連接上使用?
- 可以通過加密連接(https)使用xml嗎?
- 這個過程的'陷阱'是什麼?
我正在研究一個計劃項目的可行性,即消耗來自Web服務器的一些數據。你可以從訪問中使用xml嗎?
並非是接入開發商自己,我想知道:
首先的教程,你可以使用Web服務中添加(SOAP工具包)。這裏Dispite愚蠢的評論,即web插件的辦公室收到了更新2007年12月12日
http://support.microsoft.com/kb/937961
但是,真的,從一個網站抓取XML您可以編寫代碼來做到這幾行這在MS-訪問,如果您使用MS-XML庫
Public Sub GetQuote2()
Dim objXML As Object
Dim strSymbol As String
Dim strURL As String
Dim strWFormat As String
Set objXML = CreateObject("MSXML2.XMLHTTP")
strURL = "http://ca.finance.yahoo.com/d/quotes.csv?s="
strWFormat = "&f=sl1d1t1c1ohgv&e=.csv"
strSymbol = "MSFT"
objXML.Open "GET", strURL & strSymbol & strWFormat, False
objXML.Send
Debug.Print "Symbol = " & Split(objXML.ResponseText, ",")(0)
Debug.Print "Trade = " & Split(objXML.ResponseText, ",")(1)
Debug.Print "Date = " & Split(objXML.ResponseText, ",")(2)
End Sub
Output when above run:
Symbol = "MSFT"
Trade = 24.62
Date = "9/4/2009"
上面的代碼例子發生在「GET」一個CSV文件,但在大多數情況下,該Web服務會給你一個XML文件,甚至文件。使用MSXML庫也意味着您可以在您的指尖進行完整的xml解析。
您可以/也可以將xml文本字符串寫出到本地文件中,並使用我們在ms-access中使用的XML導入功能。
因此,訪問具有xml導入功能。使用xml導入支持+ MSXML庫,這需要很少的代碼行來從網站抓取xml。 Access 2010將提供其他Web服務支持。
對於所有密集的目的,我真的不建議使用soap web工具包(2003年代碼)辦公室,因爲上面的代碼更簡單,而且很少麻煩和代碼。
@Albert D Kallal感謝您的詳細回覆,絕對是我一直在尋找的東西。你可以通過驗證和加密的連接來做同樣的事嗎?或者你需要爲此調用完整的soap工具包嗎? – Josiah 2009-09-06 01:15:40
MSXML支持認證。使用SSL等加密連接不會影響此問題。使用MSXML或soap工具包不會改變這個安全問題。所以,不,你不會嘗試使用soap工具包來代替XML庫。 – 2009-09-06 02:47:01
從2003年開始的訪問全面支持Web服務。有一個嚮導,您可以使用它指向Web服務定義並生成訪問數據庫和表單以訪問它。
該教程已有七年曆史。我注意到Access 2007仍然沒有Web服務支持。我想我會遠離。 – 2009-09-04 05:48:19
約翰,這篇文章的日期是2005年12月16日,這是四歲。對於您的反對意見,您能否更具體一些? – 2009-09-04 08:46:20
@Tony,4年7年與他相當我猜。無論哪種方式,編寫教程都是一個有爭議的問題,因爲它告訴OP如何去做他想做的事情。 – 2009-09-04 12:57:36
您在Access *數據庫*和VBA之間隱含着什麼區別(如果有的話)? – onedaywhen 2009-09-04 10:17:38
不是一個專業的開發者,我不確定。該項目是建立在訪問(而不是我的想法)上,並且是消費存儲在Web服務器上的數據。我確信在VBA/.Net中有一些組件可以執行這個功能,但是這些組件在訪問方面有很好的表現嗎?開發者是否會避免訪問,因爲它不適合工作? – Josiah 2009-09-05 06:45:03