0
我試圖使用XPath和填充與這些值的訪問數據庫中的字段從XML文檔拉動地址信息。我能得到我需要的一切,直到我必須使用謂詞(我認爲這是做它的方式)。這裏是一個XML的示例:XPath,Acess和VBA。謂詞使用
<GeocodeResponse>
<status>OK</status>
<result>
<type>street_address</type>
<formatted_address>
Street Number Street Address, Kansas City, MO 64120, USA
</formatted_address>
<address_component>
<long_name>Street Number</long_name>
<short_name>Street Number</short_name>
<type>street_number</type>
</address_component>
<address_component>
<long_name>Street Address</long_name>
<short_name>Street Address</short_name>
<type>route</type>
</address_component>
<address_component>
<long_name>Kansas City</long_name>
<short_name>KCMO</short_name>
<type>locality</type>
<type>political</type>
</address_component>
我想拉街道號,名稱和城市的文本。這裏是我在我的VBA代碼:
rst.Edit
rst("Str_Num").Value =.SelectSingleNode("GeocodeResponse/result/address_component/long_name[1]").Text
rst.Update
rst.Edit
rst("Str_Name").Value =SelectSingleNode("GeocodeResponse/result/address_component/long_name[2]").Text
rst.Update
rst.Edit
rst("City").Value =SelectSingleNode("GeocodeResponse/result/address_component/long_name[3]").Text
rst.Update
rst.Edit
rst("Zip").Value =SelectSingleNode("GeocodeResponse/result/address_component/long_name[8]").Text
rst.Update
當運行時,我得到錯誤91對象變量或未設置塊變量。
略高於這個代碼工作,因爲我預料到,但我有理解的謂詞的問題。上面的代碼:
rst.Edit
rst("frm_addr").Value = .SelectSingleNode("//formatted_address").Text
rst.Update
rst.Edit
rst("lat").Value = .SelectSingleNode("//location/lat").Text
rst.Update
rst.Edit
rst("lng").Value = .SelectSingleNode("//location/lng").Text
rst.Update
那麼我有什麼錯?
謝謝!