使用MarkLogic patch更新一个或多个值
我正在尝试使用MarkLogic的补丁功能(版本9.0-9.1)来编辑文档的一个或多个元素。在应用程序中,用户将有一个填充有原始值的屏幕,可以编辑一个或多个字段,然后保存编辑 我有这样一份文件:使用MarkLogic patch更新一个或多个值,marklogic,http-patch,Marklogic,Http Patch,我正在尝试使用MarkLogic的补丁功能(版本9.0-9.1)来编辑文档的一个或多个元素。在应用程序中,用户将有一个填充有原始值的屏幕,可以编辑一个或多个字段,然后保存编辑 我有这样一份文件: <root> <value1>original value</value1> <value2>original value</value2> <value3>original value</value3
<root>
<value1>original value</value1>
<value2>original value</value2>
<value3>original value</value3>
<value4>original value</value4>
<value5>original value</value5>
</root>
是否有一种方法可以在同一请求中更改一个或多个值,而不动态更新修补程序以仅应用于更改的值?修补程序终结点希望将替换内容包装在容器元素中。如果要插入纯文本,请使用
原始值
,否则可自行选择元素。请注意,您正在替换元素,因此您可能希望将内容包装到元素中,或者将子元素用作上下文,并将text()
用作选择。比如:
<rapi:patch xmlns:rapi="http://marklogic.com/rest-api">
<rapi:replace-insert context="/root/value1" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value2" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value3" select="text()">
<rapi:text>edited content</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value4" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value5" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
</rapi:patch>
原值
原值
编辑内容
原值
原值
另请参阅我们的REST应用程序开发指南:
嗯 修补程序终结点希望替换内容包装在容器元素中。如果要插入纯文本,请使用
原始值
,否则可自行选择元素。请注意,您正在替换元素,因此您可能希望将内容包装到元素中,或者将子元素用作上下文,并将text()
用作选择。比如:
<rapi:patch xmlns:rapi="http://marklogic.com/rest-api">
<rapi:replace-insert context="/root/value1" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value2" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value3" select="text()">
<rapi:text>edited content</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value4" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value5" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
</rapi:patch>
原值
原值
编辑内容
原值
原值
另请参阅我们的REST应用程序开发指南:
嗯 谢谢,在替换文本周围添加元素就成功了<代码>原始值谢谢,在替换文本周围添加元素就成功了<代码>原始值
<rapi:patch xmlns:rapi="http://marklogic.com/rest-api">
<rapi:replace-insert context="/root/value1" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value2" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value3" select="text()">
<rapi:text>edited content</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value4" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
<rapi:replace-insert context="/root/value5" select="text()">
<rapi:text>original value</rapi:text>
</rapi:replace-insert>
</rapi:patch>