使用MarkLogic patch更新一个或多个值

使用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

我正在尝试使用MarkLogic的补丁功能(版本9.0-9.1)来编辑文档的一个或多个元素。在应用程序中,用户将有一个填充有原始值的屏幕,可以编辑一个或多个字段,然后保存编辑

我有这样一份文件:

<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>