我正在尝试使用 XPath 从 XML 文档中提取地址信息,并使用这些值填充访问数据库中的字段。在我必须使用谓词之前,我能够得到我需要的一切(我认为这是这样做的方法)。这是 XML 的示例:
<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
那我有什么错?
谢谢!