1

我是 XQuery 的初学者,我可以使用一些帮助来了解如何在我的 MySQL 数据库中插入 XML 元素。到目前为止,它只插入 xml 文件的片段,但我想获取完整的片段,包括内容中的元素。例如,假设我有:

let $element := "<exemple>hello world</exemple>"
let $currentDate := fn:format-dateTime(fn:current-dateTime(), "[Y0001]-[M01]-[D01] [H01]:[m01]:[s01]")
let $values :=  "('" ||  $element || "','" || $currentDate|| "','" || $currentDate ||  "')"


let $q := 'INSERT into table (element,created,updated) values ' || $values
let $conn := sql:connect("jdbc:mysql://xxxx:xxx@mysql:3306/database",map{'autocommit': true() ,'useUnicode':true(),'characterEncoding':'utf8'})
let $s := sql:execute($conn, $q)
let $conn := sql:close($conn)

-----------------------------------------------------
|   id  |   element     |   created     |   updated |
-----------------------------------------------------
|   x   |   hello world |   xxxxx       |    xxxxx  |           <========   ? ( "<exemple>hello world</exemple>")

我实际上需要完整的片段。如何做到这一点?

谢谢你的帮助。

4

1 回答 1

1

尝试序列化您的元素变量:

let $values :=  "('" ||  fn:serialize($element) || "','" || $currentDate|| "','" || $currentDate ||  "')"

让我知道事情的后续

于 2021-07-01T13:13:53.537 回答