例如,请考虑以下代码片段:
场景一:
作为 SOAP 响应的一部分,我收到的公司名称如下:
<Company>Amazon, Inc </Company>
场景二:
作为 SOAP 响应的一部分,我收到的另一个公司名称如下:
<Company>Google, Inc </Company>
基本上,我从用户端输入一些信息,并基于这些信息在<Company>
标签内获得不同的公司名称。
以下代码显示了我如何将响应存储在 XMLResponse 变量中
<cfset XMLResponse = XmlParse(
httpResponse.fileContent.Trim()
) />
以下代码显示了我如何解析响应并将内容存储在变量中:
<cfset arrCOMPANY = XmlSearch(
XMLResponse,
"//*[name()='Company']"
) />
所以现在我有 arrCOMPANY = Amazon, Inc 是我碰巧在 Scenario 和 Google, Inc 否则。
我的问题:
我必须根据公司名称将这些数据插入数据库,如果公司名称是 Amazon,Inc,则将整数字段设置为等于 1,否则对于所有其他公司,将其设置为零。
如果我走的是正确的道路,请告诉我:
我正在考虑根据公司名称编写两个 cfqueries,因此我正在考虑放置以下条件:
<cfif arrCompany eq "Amazon, Inc">
// Here I will write cfquery with an integer field = 1
Or
<cfif arrCompany eq "Google, Inc">
// Here I will write cfquery with integer field 0
所以,我是否进行了正确的比较,我想知道我与 eq 符号比较的公司名称是否会被实际比较,因为它在第一个单词之后包含空格(例如 Amazon 和 Inc 之间的空格)。
请分享你的经验。
谢谢
这是我所做的:
我也对特定元素应用了修剪功能。例如:
CompanyName 变量中的值为Amazon, Inc
<cfset CompanyName = Trim(arrCompany[1])> // adding index 1 because it's a complex structure
这是我尝试使用 cfif 条件的方式:
<cfif CompanyName eq "Amazon, Inc">
<cfset m = 1>
<cfelse>
<cfset m = 0>
</cfif>
<cfoutput>#m#</cfoutput>
尽管做了上述,我得到0
了我的输出。如果我比较错误,请告诉我。