Get text value from xmlsearch()

2011-12-07 Thread Christophe Maso
Is there any way to get the 09-09-2009 string using xmlSearch() for the below xml? employee startDate09-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

Re: Get text value from xmlsearch()

2011-12-07 Thread Dominic Watson
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

Re: Get text value from xmlsearch()

2011-12-07 Thread Raymond Camden
You can use functions to get values: cfxml variable=test employee startDate09-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

Re: Get text value from xmlsearch()

2011-12-07 Thread Raymond Camden
Actually, you want to limit yourself to these - since CF9 is still xpath1 (Zeus is adding xpath2) http://en.wikipedia.org/wiki/XPath_1.0 On Wed, Dec 7, 2011 at 3:56 PM, Raymond Camden raymondcam...@gmail.com wrote: You can use functions to get values: cfxml variable=test employee  

Re: Get text value from xmlsearch()

2011-12-07 Thread Judah McAuley
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

Re: Get text value from xmlsearch()

2011-12-07 Thread Judah McAuley
Yay for XPath 2, that's good news. Just today I was wrestling with XSLT that needed a Replace function which XPath 2 supports but XPath 1 (for some reason) does not. What kind of language doesn't have a Replace function? Cheers, Judah On Wed, Dec 7, 2011 at 2:03 PM, Raymond Camden

Re: Get text value from xmlsearch()

2011-12-07 Thread Raymond Camden
The poster asked about getting a text value, so obviously he was using a xpath search that matched one value. So... don't do it on ones that would return multiple. You can use functions on multiple things though. For example: cfxml variable=test employee salary200/salary salary100/salary

Re: Get text value from xmlsearch()

2011-12-07 Thread Judah McAuley
Sure, some functions work on multiple nodes and they are awesome for all sorts of things. I just hesitate to use a function that will blow up if more than one node is returned when you can write a function that will always return the first node and therefore not blow up. I've just had two many

Re: Get text value from xmlsearch()

2011-12-07 Thread Raymond Camden
I don't know man - if you are parsing xml, you are making some assumptions about the structure. The functions are there just for that reason. Sometimes you need the string value of a node. That's it.It's no more safe/dangerous than any other xpath function. On Wed, Dec 7, 2011 at 4:31 PM, Judah