MarkLogic:Searching 对于来自局部变量的父节点中的子节点
MarkLogic:Searching for a child node in a parent node from local variable
我正在将文档节点存储在局部变量中,并希望从局部变量中搜索子节点。将父级视为:
let $parent :=<tempdoc>
<identifier>
<a>1</a>
<b>2</b>
</identifier>
</tempdoc>
我不想插入父节点,因为它是在代码中间创建的临时节点。如果我将父项作为文档插入,我会执行以下操作,即从已插入的文档中搜索节点。
let $doc := cts:search(//*:identifier,
cts:directory-query(("/tempfiles/parentdocs/"),"1"))
其中 /tempfiles/parentdocs/
是保存文档的目录。
但是如果文档存储在局部变量而不是数据库中怎么办?应该替换什么而不是 cts:directory-query 以便我可以在局部变量本身中搜索元素。
你想用这个变量做什么?
因为cts:search
用于return数据库中的文档。
你已经有了 "document" 现在你只需要文档中的一些节点,这样你就可以使用 xpath 取回你想要的值作为你的局部变量。
let $parent :=<tempdoc>
<identifier>
<a>1</a>
<b>2</b>
</identifier>
</tempdoc>
return $parent/identifier/element()
我正在将文档节点存储在局部变量中,并希望从局部变量中搜索子节点。将父级视为:
let $parent :=<tempdoc>
<identifier>
<a>1</a>
<b>2</b>
</identifier>
</tempdoc>
我不想插入父节点,因为它是在代码中间创建的临时节点。如果我将父项作为文档插入,我会执行以下操作,即从已插入的文档中搜索节点。
let $doc := cts:search(//*:identifier,
cts:directory-query(("/tempfiles/parentdocs/"),"1"))
其中 /tempfiles/parentdocs/
是保存文档的目录。
但是如果文档存储在局部变量而不是数据库中怎么办?应该替换什么而不是 cts:directory-query 以便我可以在局部变量本身中搜索元素。
你想用这个变量做什么?
因为cts:search
用于return数据库中的文档。
你已经有了 "document" 现在你只需要文档中的一些节点,这样你就可以使用 xpath 取回你想要的值作为你的局部变量。
let $parent :=<tempdoc>
<identifier>
<a>1</a>
<b>2</b>
</identifier>
</tempdoc>
return $parent/identifier/element()