代码之家  ›  专栏  ›  技术社区  ›  Josiah

您能从Access中使用XML吗?

  •  2
  • Josiah  · 技术社区  · 17 年前

    我正在研究一个计划中的项目的可行性,该项目将使用来自Web服务器的一些数据。

    我自己不是访问开发者,我想知道:

    1. 是否可以使用Access数据库中的XML?
    2. XML可以通过经过身份验证的连接使用吗?
    3. 可以通过加密连接(https)使用XML吗?
    4. 这个过程的“要点”是什么?
    2 回复  |  直到 16 年前
        1
  •  3
  •   Albert D. Kallal    16 年前

    首先,您可以使用Web服务外接程序(SOAP工具包)。别在这里发表愚蠢的评论,Office的Web加载项在2007年12月12日收到了更新。

    http://support.microsoft.com/kb/937961

    但是,实际上,对于从网站获取XML,如果使用MS-XML库,那么只需编写几行代码就可以在MS Access中执行此操作。

      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"
    

    上面的代码示例恰好“获取”了一个csv文件,但在大多数情况下,Web服务都会为您提供一个XML文件甚至文档。使用MSXML库还意味着您可以方便地进行完整的XML解析。

    您还可以/也可以将XML文本字符串写出到本地文件中,并使用我们在MS Access中拥有的XML导入功能。

    因此,Access确实具有XML导入功能。有了XML导入支持+MSXML库,从网站获取XML只需要很少几行代码。Access 2010将提供额外的Web服务支持。

    出于所有密集的目的,我真的不建议在Office中使用SOAP Web工具包(2003外接程序代码),因为上面的代码要简单得多,并且更少的麻烦和代码。

        2
  •  0
  •   Paolo    17 年前

    2003版以后的Access完全支持Web服务。有一个向导,您可以使用它指向Web服务定义并生成访问数据库和表单来访问它。

    这里有一个教程 consuming web services