更新节点';使用Marklogic和XQuery创建文本内容
假设我有两个XML,更新节点';使用Marklogic和XQuery创建文本内容,xquery,marklogic,Xquery,Marklogic,假设我有两个XML,xmlA&xmlB,我想用xmlB/bcd更新xmlA/abc的“文本内容” xmlA: 但我只想更改节点的内容。所需输出为: xmlA: 堪萨斯州 有人能告诉我怎么做吗(没有XPath3.0)?谢谢(Ranjan)。您正在运行哪个版本的MarkLogic?我在版本6.0-1.1中测试了以下内容,这似乎和预期的一样。当我在节点替换后检索存储的文档时,我得到了“kansas”两次,但“a.xml”的内部元素未被触及: xdmp:document-insert( 'a
xmlA
&xmlB
,我想用xmlB/bcd
更新xmlA/abc
的“文本内容”
xmlA:
但我只想更改节点的内容。所需输出为:
xmlA:
堪萨斯州
有人能告诉我怎么做吗(没有XPath3.0)?谢谢(Ranjan)。您正在运行哪个版本的MarkLogic?我在版本6.0-1.1中测试了以下内容,这似乎和预期的一样。当我在节点替换后检索存储的文档时,我得到了“kansas”两次,但“a.xml”的内部元素未被触及:
xdmp:document-insert(
'a.xml',
<root>
<abc>texas</abc>
</root>
),
xdmp:document-insert(
'b.xml',
<root>
<bcd>kansas</bcd>
</root>
);
doc('a.xml'),
doc('b.xml');
xdmp:node-replace(
doc('a.xml')/root/abc/text(),
doc('b.xml')/root/bcd/text()
);
doc('a.xml'),
doc('b.xml')
xdmp:文档插入(
“a.xml”,
德克萨斯州
),
xdmp:文档插入(
“b.xml”,
堪萨斯州
);
doc('a.xml'),
doc('b.xml');
xdmp:节点替换(
doc('a.xml')/root/abc/text(),
doc('b.xml')/root/bcd/text()
);
doc('a.xml'),
文档('b.xml')
如果您运行的是旧版本的MarkLogic,那么它很可能是一个自
嗯 试试这个:
xdmp:node-replace(
xmlA/abc,
element { "abc" } { xmlB/bcd/text() }
)
<root>
<bcd>kansas</bcd>
</root>
<root>
<abc>kansas</abc>
</root>
xdmp:document-insert(
'a.xml',
<root>
<abc>texas</abc>
</root>
),
xdmp:document-insert(
'b.xml',
<root>
<bcd>kansas</bcd>
</root>
);
doc('a.xml'),
doc('b.xml');
xdmp:node-replace(
doc('a.xml')/root/abc/text(),
doc('b.xml')/root/bcd/text()
);
doc('a.xml'),
doc('b.xml')
xdmp:node-replace(
xmlA/abc,
element { "abc" } { xmlB/bcd/text() }
)