Ich habe Dokumente wie -begrenzte Elemente aus einem Dokument
<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>
Ich habe tun, um die IDs für die Dokumente zu holen, ich mag die a:id
und a:number
all diese Dokumente extrahieren, die die Abfrage entsprechen ohne Verwenden von XPath. Ich kann leicht das Dokument mit der ID unter Verwendung eines cts.elementValueQuery
erhalten und dann XPath verwenden, um die Elemente zu erhalten. So etwas -
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')
Aber ich möchte, dass MarkLogic nur ausgewählte Elemente zurückgibt.
Kann mir bitte jemand den optimierten Weg sagen, dies zu tun?
ich diese Abfrage geschrieben haben (Ich nicht das erwartete Ergebnis zu geben) -
cts.elementValueCoOccurrences(
fn.QName(c, 'id'),
fn.QName(c, 'precision'),
('map'),
cts.andQuery(
[
cts.collectionQuery(liveCollection),
cts.elementValueQuery(fn.QName(c, 'id'), seriesIds)
]
)
)
Ich suche eine Ausgabe wie diese zu erhalten -
| <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>
|
Können Sie zeigen, wie die Ausgabe aussehen soll und was haben Sie selbst versucht? – grtjn
@grtjn Ich habe die Frage aktualisiert. Kannst du bitte jetzt etwas vorschlagen? –