xpath functionerror
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.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/xpath-functionerror-tp5793724.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
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.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
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.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general
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.
--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general