例如,請考慮下面的代碼片段:ColdFusion中使用CFIF
方案1:
我作爲SOAP響應的一部分收到的公司名稱如下:
<Company>Amazon, Inc </Company>
情景2:
作爲零件收到的另一公司名稱SOAP響應如下:
<Company>Google, Inc </Company>
基本上,從用戶端我輸入一些信息,並基於該我收到<Company>
標籤內不同的公司名稱。
下面的代碼顯示瞭如何正在存儲在XMLResponse可變響應
<cfset XMLResponse = XmlParse(
httpResponse.fileContent.Trim()
) />
下面一段代碼顯示瞭如何正在解析響應和存儲在變量中的內容:
<cfset arrCOMPANY = XmlSearch(
XMLResponse,
"//*[name()='Company']"
) />
所以現在我有arrCOMPANY =亞馬遜公司是我恰好在情景和谷歌公司,否則。
我的問題:
我必須基於公司的名稱,這些數據插入到數據庫中,並設置一個整數字段等於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 sign進行比較的公司名稱是否實際進行了比較,如 它包含第一個單詞之後的空格(例如Amazon和Inc之間的空格)。
請分享你的經驗。
感謝
這裏是我做過什麼:
我有特定元素施加微調功能爲好。例如:
在公司名稱變量中的值是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
我的輸出。請讓我知道,如果我比較錯誤。
您不需要單獨的查詢來設置一個位標誌。您遇到的問題是什麼?如果節點包含* exact *值'Amazon,Inc',則它將被視爲相等。你的實際代碼有什麼不同嗎? – Leigh
@Leigh請檢查我更新的問題。謝謝 – Jack
在引號之間嘗試輸出公司名稱,以便您可以查看確切的修剪值。'#companyName#' 。引號將有助於查看是否還有更多字符不能刪除修剪。 –
Sanjeev