Hi!Thank you.>Subquery the xpath _expression_ to unnest it and apply a LIMIT 1> UPDATE tbl SET ... = (SELECT xpath( tbl.???[...] ) LIMIT 1)I used unnest() :
Sorry, I meant to say (SELECT unnest(xpath(tbl.???[...])) LIMIT 1)...
update temprid setContactFirstName =unnest(xpath('/E-Document/Document/DocumentParties/BuyerParty/ContactData/ContactFirstName/text()',x))::textIs this OK ?
It may be that the "SELECT" is optional - you should test it.
>Note that I do not believe your example code is going to work. As I mentioned you really want to create a >table of documents and NOT try to pair up multiple unnested columns.How to create table of documents ?
Instead of defining an xpath for fields define one that captures the xml pertaining to the data that would belong to a single record.
xml contains multiple products and document info.Code creates table containing one row for every product and adds same header fields to all rows.
Sounds like you should have two tables...
Whu this will not work ?
update temprid set
ContactFirstName =unnest(xpath(
'/E-Document/Document/DocumentParties/BuyerParty/ContactData/ContactFirstName/text()',x))::text