我有一個xml如下。如何使用Xquery將屬性添加到現有節點
<test>
<a att1="1">
</test>
如何將新屬性添加到現有節點?預期的輸出如下。
<test>
<a att1="1" att2="2">
</test>
我有一個xml如下。如何使用Xquery將屬性添加到現有節點
<test>
<a att1="1">
</test>
如何將新屬性添加到現有節點?預期的輸出如下。
<test>
<a att1="1" att2="2">
</test>
試試這個功能。
functx:add-attributes(
$in-xml/a,
(xdmp:node-insert-after('att1','att2')) or (xdmp:node-insert-before('att1','att2')),(1,2)).
解決了MarkLogic中以下Xquery的問題。
(: create a document :)
xdmp:document-insert("/example.xml", <a/>);
(: insert an attribute as child of a :)
xdmp:node-insert-child(doc("/example.xml")/a,
attribute b { "bbb" });
(: look at the new document :)
fn:doc("/example.xml")
**Output**
<?xml version="1.0" encoding="UTF-8"?>
<a b="bbb"/>
使用XQuery更新和BaseX,後續將是解決方案 -
for $x in doc('Document2')//a
return
insert node attribute att2{'2'} into $x
我希望你已經有答案了,還是......
任何其他而不是使用功能? –
此功能不會更新現有文檔。 –
我編輯了我的代碼..它。 –