如何使用 SQL 模块在数据库中插入 XML 内容

How to insert XML Content in db using SQL Module

我是 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>")

我真的需要完整的片段。如何实现?

感谢您的帮助。

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

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

告诉我进展如何