解析的XML变量在cfquery中更改?-冷融冰

解析的XML变量在cfquery中更改?-冷融冰,xml,coldfusion,geocoding,bing,Xml,Coldfusion,Geocoding,Bing,我真的很困惑 我正在解析Bing的一个XML地理代码——我似乎很好地得到了这个变量。但是,当我在查询中使用该变量时——我没有得到该变量的值——而是整个XML字符串 <cfset variables.BingXML = xmlparse(cfhttp.filecontent)> <cfset variable.Bing.Lat = "#variables.BingXML.Response.ResourceSets.ResourceSet.Resources.Location.

我真的很困惑

我正在解析Bing的一个XML地理代码——我似乎很好地得到了这个变量。但是,当我在查询中使用该变量时——我没有得到该变量的值——而是整个XML字符串

<cfset variables.BingXML = xmlparse(cfhttp.filecontent)> 

<cfset variable.Bing.Lat = "#variables.BingXML.Response.ResourceSets.ResourceSet.Resources.Location.Point.Latitude#">
<cfset variable.Bing.Lon = "#variables.BingXML.Response.ResourceSets.ResourceSet.Resources.Location.Point.Longitude#">
<cfoutput>
#variable.Bing.Lat# 
#variable.Bing.Lon#
</cfoutput>
但是在
cfquery
中,我得到:

SELECT NATSS_Locations.*, NATSS_PaymentTypes.PTName, NATSS_PaymentTypes.PTImage, NATSS_PaymentTypeLinks.NPTLID,
   NATSS_NationalAccounts.NNAImage,  NATSS_NationalAccounts.NNAName, NATSS_LocNationalAcctLink.NLNALID,
   ((3963.191 * ACOS((SIN(PI() * '#variable.Bing.Lat#' / 180) * SIN(PI() * NATSS_Locations.LocationLat / 180)) + (COS(PI() * #variable.Bing.Lat# /180) * cos(PI() * NATSS_Locations.LocationLat / 180) * COS(PI() * NATSS_Locations.LocationLong / 180 - PI() * #variable.Bing.Lon# / 180)) )) * 1) as Distance 
变成:

SELECT NATSS_Locations.*, NATSS_PaymentTypes.PTName, NATSS_PaymentTypes.PTImage, NATSS_PaymentTypeLinks.NPTLID, 
    NATSS_NationalAccounts.NNAImage, NATSS_NationalAccounts.NNAName, NATSS_LocNationalAcctLink.NLNALID,
   ((3963.191 * ACOS((SIN(PI()     * '<?xml version="1.0" encoding="UTF-8"?><Latitude xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">38.4935302734375</Latitude>' / 180) * SIN(PI() * NATSS_Locations.LocationLat / 180)) + (COS(PI() * <?xml version="1.0" encoding="UTF-8"?><Latitude xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">38.4935302734375</Latitude> /180) * cos(PI() * NATSS_Locations.LocationLat / 180) * COS(PI() * NATSS_Locations.LocationLong / 180 - PI() * <?xml version="1.0" encoding="UTF-8"?><Longitude xmlns="http://schemas.microsoft.com/search/local/ws/rest/v1">-101.35395050048828</Longitude> / 180)) )) * 1) as Distance
选择NATSS_位置。*、NATSS_PaymentTypes.PTName、NATSS_PaymentTypes.PTImage、NATSS_PaymentTypeLinks.NPTLID、,
NATSS_NationalAccounts.NNAImage、NATSS_NationalAccounts.NNAName、NATSS_LocalAcctlink.NLNALID、,
((3963.191*ACOS((SIN(PI()*'38.4935302734375'/180)*SIN(PI()*NATSS_Locations.LocationLat/180))+(COS(PI()*38.4935302734375/180)*COS(PI()*NATSS_Locations.LocationLat/180-PI()*-101.353950500488/180))*1)作为距离
有人对此有什么解决方案或想法吗?

<cfset variable.Bing.Lat            
  = "#variables.BingXML.Response ... Point.Latitude#">
<cfset variable.Bing.Lon           
  = "#variables.BingXML.Response ... Point.Longitude#">

您应该有如下内容:

 <cfset variable.Bing.Lat            
   = variables.BingXML.Response ... Point.Latitude.xmlText>
 <cfset variable.Bing.Lon            
   = variables.BingXML.Response ... Point.Longitude.xmlText>


太棒了-我知道我错过了一些简单的东西。非常感谢。与原始问题无关,但别忘了使用
cfqueryparam
来防止sql注入等。
 <cfset variable.Bing.Lat            
   = variables.BingXML.Response ... Point.Latitude.xmlText>
 <cfset variable.Bing.Lon            
   = variables.BingXML.Response ... Point.Longitude.xmlText>