Six*_*Bit 5 xml xquery marklogic
我想将一个字符串转换为一个节点.我有一个定义为获取节点的方法,但我拥有的值是一个字符串(它是硬编码的).如何将该字符串转换为节点?
所以,给定一个XQuery方法:
define function foo($bar as node()*) as node() {
(: unimportant details :)
}
Run Code Online (Sandbox Code Playgroud)
我有一个字符串,我想传递给foo方法.如何将字符串转换为节点,以便该方法将接受该字符串.
Six*_*Bit 10
MarkLogic解决方案:
将字符串转换为节点的最佳方法是使用:
xdmp:unquote($string).
Run Code Online (Sandbox Code Playgroud)
相反,如果您想将节点转换为字符串,您可以使用:
xdmp:quote($node).
Run Code Online (Sandbox Code Playgroud)
语言无关的解决方案:
节点到字符串是:
fn:string($node)
Run Code Online (Sandbox Code Playgroud)
小智 9
如果要从字符串中创建文本节点,只需使用文本节点构造函数:
text { "your string goes here" }
Run Code Online (Sandbox Code Playgroud)
或者如果您更喜欢使用字符串内容创建元素,则可以构造如下所示的元素:
element (some-element) { "your string goes here" }
Run Code Online (Sandbox Code Playgroud)
如果您正在讨论包含XML标记的字符串,那么还有标准化的解决方案(来自XPath/XQuery Functions 3.0):