Thread: Re: xpath functionerror
sparikh wrote > Hi, > > My current database version is "PostgreSQL 9.1.11 on > x86_64-unknown-linux-gnu, compiled by gcc (GCC) 4.4.7 20120313 (Red Hat > 4.4.7-3), 64-bit". > > I am trying to use function xpath in my query and got following error. > > "ERROR: function xpath(unknown, text) does not exist at character 8 > HINT: No function matches the given name and argument types. You might > need to add explicit type casts. > > I could see the library pgxml.so libray in /usr/pgsql-9.1/lib . Could > someone please advise me what more needs to be done in order to run xpath > queris? > > Thanks in advance. The valid function signature is: xpath(xpath text, xmlcontent xml, [ nsarray text[][] ]) http://www.postgresql.org/docs/9.1/static/functions-xml.html The "unknown" above will be converted to "text" but the "text" above will never be converted to "xml". You must perform this conversion yourself and pass the converted value - now of type xml - to the function. The documentation explains how to perform this conversion. David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/xpath-functionerror-tp5793724p5793727.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
sparikh wrote > Thanks David for your quick response. My original objective was to get the > value of a particular node in xml which is stored as text datatype in the > table. > > For example : > > > <?xml version="1.0"?> > - > <settings> > - > <F999> > <amperage> > 16 > </amperage> > <amperagesteps/> > </F9999> > </settings> > I want to extract the value of amperage as '16'. Like that I may have many > nodes in xml want to get the report to show them in different columns. I > used to do this with oracle using xml functions provided. > > Trying to figure out same in postgres. > > Thanks again for your help. And the same goes for PostgreSQL but you need to use the correct data types; xml functions operate on XML instead of TEXT because that way they don't really need to deal with bad text input - the type conversion function takes care of making sure the text is valid XML. David J. -- View this message in context: http://postgresql.1045698.n5.nabble.com/xpath-functionerror-tp5793724p5793742.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.
Thanks David for your quick response. My original objective was to get the value of a particular node in xml which is stored as text datatype in the table. For example : <?xml version="1.0"?> -<settings>-<F999><amperage>16</amperage><amperagesteps/></F9999></settings> I want to extract the value of amperage as '16'. Like that I may have many nodes in xml want to get the report to show them in different columns. I used to do this with oracle using xml functions provided. Trying to figure out same in postgres. Thanks again for your help. -- View this message in context: http://postgresql.1045698.n5.nabble.com/xpath-functionerror-tp5793724p5793740.html Sent from the PostgreSQL - general mailing list archive at Nabble.com.