有一点问题。我正在尝试创建一个基于名字,姓氏等搜索数据库的XML提要。我想要获得的响应是典型的第一个,最后一个,DOB等。我已经运行的搜索精细。但是我试图为它添加另一个功能。
对于退回的每个人,我想在同一地址为其他人返回额外的字段。我劫持了另一个有效的xml提要代码,做了一些相同的事情,但它只是不能为这个提要工作。我嵌入了一些代码来运行这个添加。它基本上通过获取返回的每个人的地址来运行,并通过存储过程运行地址以获得每个特定人员的其他人。但它的天空高高飘扬,不能为我的生活找出原因。
以下是给我提问的代码。我猜它是查询的查询。我只是附上了生成查询的结果。我也在使用CF 8。
<FDSResponse>
<cfoutput><ResultCount>#resultCount#</ResultCount>
<Generated>#dateFormat(now(),"mm/dd/yyyy")# #timeFormat(now(),"long")#</Generated></cfoutput>
<searchResults>
<PeopleFinder>
<cfoutput query="getResults">
<Result>
<ValidityDate>#Right(validityDate,2)#/#Left(validityDate,4)#</ValidityDate>
<LastName>#xmlFormat(lastname)#</LastName>
<FirstName>#xmlFormat(firstname)#</FirstName>
<MiddleName>#xmlFormat(middlename)#</MiddleName>
<DOB><CFIF dateOfBirth NEQ "">#trim(xmlFormat("#mid(dateOfBirth,3,2)#/#right(dateofbirth,2)#/19#left(dateofbirth,2)#"))#</CFIF></DOB>
<Address>#xmlformat(address)#</Address>
<City>#xmlformat(city)#</City>
<State>#xmlFormat(state)#</State>
<Zip>#zip#</Zip>
<County>#xmlformat(countyName)#</County>
<Phone>#xmlformat(phoneNumber)#</Phone>
<personID>#ID#</personID>
<CFQUERY datasource="PF" name="getRoomates#currentrow#" maxrows="25">
sp_roomateSearch '#address#', '#City#', '#state#', '#left(Zip,5)#', '#var.firstname#', '#var.lastname#', '#getResults.dateofbirth#'
</CFQUERY>
<otherpeople>
<address>#xmlFormat(trim(address))#</address>
<city>#xmlFormat(trim(city))#</city>
<state>#xmlFormat(trim(state))#</state>
<zip>#xmlFormat(trim(zip))#</zip>
<!---<otherPeople>
<cfloop query="getRoomates#getOtherResults.currentrow#">
<person>
<ValidityDate>#Right(evaluate('getRoomates#getOtherResults.currentrow#.validityDate'),2)#/#Left(evaluate('getRoomates#getOtherResults.currentrow#.validityDate'),4)#</ValidityDate>
<possibleRelative><CFIF evaluate('getRoomates#getOtherResults.currentrow#.lastname') EQ var.lastname>TRUE<CFELSE>UNKNOWN</CFIF></possibleRelative>
<LastName>#xmlFormat(evaluate('getRoomates#getOtherResults.currentrow#.lastname'))#</LastName>
<FirstName>#xmlFormat(evaluate('getRoomates#getOtherResults.currentrow#.firstname'))#</FirstName>
<MiddleName>#xmlFormat(evaluate('getRoomates#getOtherResults.currentrow#.middlename'))#</MiddleName>
<CFSAVECONTENT variable="DOB"><CFIF evaluate('getRoomates#getOtherResults.currentrow#.dateOfBirth') NEQ "">#mid(evaluate('getRoomates#getOtherResults.currentrow#.dateOfBirth'),3,2)#/<CFIF right(evaluate('getRoomates#getOtherResults.currentrow#.dateOfBirth'),2) NEQ "00">#right(evaluate('getRoomates#getOtherResults.currentrow#.dateOfBirth'),2)#/<CFSET dbirth = right(evaluate('getRoomates#getOtherResults.currentrow#.dateOfBirth'),2)><CFELSE><CFSET dbirth = "01"></CFIF>#left(evaluate('getRoomates#getOtherResults.currentrow#.dateOfBirth'),2)#</CFIF></CFSAVECONTENT>
<DOB>#xmlFormat(replace(DOB," ","","ALL"))#</DOB>
</person>
</cfloop>
</otherPeople>
</Result>
</cfoutput>
</PeopleFinder>
</searchResults>
</FDSResponse>