从元素中删除属性的语法

时间:2017-09-19 10:16:19

标签: marklogic marklogic-8

有没有办法从元素中删除属性?我知道可以替换属性,如下所示。

var node = new NodeBuilder();
node.addAttribute("myAttribute", "attributeValue");     
xdmp.nodeReplace(attributeElement.getAttributeNode("myAttribute"),node.toNode());

但我想从元素中完全删除属性。

1 个答案:

答案 0 :(得分:3)

您可能正在寻找xdmp.nodeDelete

听起来有点奇怪,但它也适用于属性:

declareUpdate();
xdmp.documentInsert("/test.xml", xdmp.unquote('<test a="x" b="y">text</test>'));

接下来是:

declareUpdate();
xdmp.nodeDelete(cts.doc("/test.xml").xpath("/test/@a"))

请注意,这些功能仅适用于数据库中持久保存的节点。

HTH!