我有這樣的文件 -從文檔中獲取有限的元素
<a:root xmlns:a = 'some-ns'>
<a:id>some-id</a:id>
.
.
<a:number field='field1'>3</a:number>
<a:number field='field2'>4</a:number>
.
.
</a:root>
我確實有文件的ID來獲取,我想提取所有符合查詢其中沒有文件的a:id
和a:number
使用XPath。 我可以使用cts.elementValueQuery
輕鬆獲取與id匹配的文檔,然後使用XPath獲取元素。像這樣 -
cts.search(
cts.andQuery(
[
cts.collectionQuery('liveCollection'),
cts.elementValueQuery(fn.QName(a, 'id'), 'http://iddn.icis.com/series/energy/cegh-day-ahead-index')
]
)
).next().value.getElementsByTagNameNS(a, 'number')
但我希望MarkLogic只返回選定的元素。
任何人都可以請告訴我這樣做的優化方法嗎?
我寫了這個查詢(不給我預期的結果) -
cts.elementValueCoOccurrences(
fn.QName(c, 'id'),
fn.QName(c, 'precision'),
('map'),
cts.andQuery(
[
cts.collectionQuery(liveCollection),
cts.elementValueQuery(fn.QName(c, 'id'), seriesIds)
]
)
)
我希望得到這樣的輸出 -
| <a:id>id-1</a:id>
| <a:number field='field1'>3</a:number>
|
| <a:id>id-1</a:id>
| <a:number field='field2'>4</a:number>
|
| <a:id>id-2</a:id>
| <a:number field='field1'>3</a:number>
|
你能展示輸出應該如何看,你有什麼嘗試過自己? – grtjn
@grtjn我已經更新了這個問題。你能請現在提出一些建議嗎? –