But what happens if there is more than one node that matches your
search?  Searches expect to return one or more results, which is why
it returns an array. Trying to turn what may be a complex result into
a simple string with no logic seems like an unstable approach, unless
I'm misunderstanding the question (which happens plenty).

Instead, I'd write a UDF called FirstXMLNodeText or some some such
that you pass an XPath value to along with an xml doc and then have it
return the XmlText of the first array result returned.

What you are doing with the array is correct, in my opinion. If it is
too much typing and you are doing it a lot, build a function to do it.

Cheers,
Judah

On Wed, Dec 7, 2011 at 1:56 PM, Raymond Camden <raymondcam...@gmail.com> wrote:
>
> You can use functions to get values:
>
>
>
> <cfxml variable="test">
> <employee>
>  <startDate>09-09-2009</startDate>
> </employee>
> </cfxml>
>
> <cfset r = xmlSearch(test, "string(//employee/startDate)")>
> <cfdump var="#r#">
>
> Docs: http://www.w3schools.com/xpath/xpath_functions.asp#string
>
> On Wed, Dec 7, 2011 at 3:23 PM, Dominic Watson
> <watson.domi...@googlemail.com> wrote:
>>
>> It's getting old in the tooth and could do with some JavaLoader love,
>> but this project can help with that sorta thing:
>>
>> http://betterxml.riaforge.org
>>
>> Dominic
>>
>> On 7 December 2011 21:09, Christophe Maso <zum...@hotmail.com> wrote:
>>>
>>> Is there any way to get the "09-09-2009" string using xmlSearch() for the 
>>> below xml?
>>>
>>> <employee>
>>>   <startDate>09-09-2009</startDate>
>>> </employee>
>>>
>>> I've been doing something like this, which is a real pain:
>>>
>>> arrDate = xmlSearch(xml, "//employee/startDate");
>>> strDate = arrDate[1].XmlText;
>>>
>>> It seems that xmlSearch() must always return an array and is unable to 
>>> return a string, which makes sense, but using the above code has gotten 
>>> old, real fast.
>>>
>>>
>>
>>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Order the Adobe Coldfusion Anthology now!
http://www.amazon.com/Adobe-Coldfusion-Anthology/dp/1430272155/?tag=houseoffusion
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:349015
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/groups/cf-talk/unsubscribe.cfm

Reply via email to