0

有人可以帮助我实现以下目标:

  • 当元素具有赋值时,如何在 XQuery 中删除属性 xsi:nil="true"?

如果元素具有空值,则保留 xsi:nil= "true"。

谢谢。

4

1 回答 1

0

您可以使用 XQuery Update 来实现这一点,例如:

declare variable $e := <entry nil="true" />;

if ($e/@nil != "null") then (
copy $c := $e
modify (
  delete node $c/@nil
)
return $c
)
else $e

请注意,xquery 中没有实际的 null 值,因为您可能熟悉 Java 等语言。因此我在这里使用了一个简单的字符串来表示一个空值,您可能想要更改它。

另外,请注意,这个函数不会返回没有属性的相同节点,而是复制节点并返回这个没有 nil 属性的新修改节点。

于 2012-07-27T07:55:45.417 回答