删除MarkLogic Javascript中重复的元素父名称

删除MarkLogic Javascript中重复的元素父名称,javascript,marklogic,marklogic-dhf,Javascript,Marklogic,Marklogic Dhf,我正在使用javascript协调MarkLogic中的数据。目前,对于我的输出,我能够显示所有子元素Activity,但问题是父元素Activities也显示为两个 这是当前输出,其中仅对每个活动显示: 10 1. 23 2. 50 3. 不是Javascript专家,但是如果您使用另一个根元素包装输入,然后在Qconsole上运行以下xquery代码,您将获得所需的结果 ` let$doc:= 10 1. 23 2. 50 3. 返回 { 对于$doc/Activities/Activi

我正在使用javascript协调MarkLogic中的数据。目前,对于我的输出,我能够显示所有子元素
Activity
,但问题是父元素
Activities
也显示为两个

这是当前输出,其中
仅对每个
活动显示:


10
1.
23
2.
50
3.

不是Javascript专家,但是如果您使用另一个根元素包装输入,然后在Qconsole上运行以下xquery代码,您将获得所需的结果

`

let$doc:=
10
1.
23
2.
50
3.
返回
{
对于$doc/Activities/Activity中的每个$
每件$
}

`

如果为每个项目创建单独的JavaScript对象,是否会产生所需的结果

大致如下:

obj.Activities = [];

for (const item of activities) {
    obj.Activities.push({
    '$type': 'Activity',
    '$version': '0.0.1',
    ActivityCrewSize: fn.normalizeSpace(hl.elementText(item, "CrewSize", true)),
    ActivitySeqNo, fn.normalizeSpace(hl.elementText(item, "SeqNo", true)),
    ActivityDesc: hl.elementText(item, null, true)
     });
}

return obj;
或者,NodeBuilder可以直接构造XML:


如果您可以提供一些示例数据并扩展代码以显示这些JSON对象如何转换为XML,那么您的问题就更容易解决了。您好@ehennum,谢谢您的回答。我尝试过这个建议,但是父活动仍然显示为两个。正如Dave Casell所建议的,下一步可能是修改这个问题,以显示如何将JSON转换为XML。感谢您的回答,但解决方案应该是javascript
obj.Activities = [];

for (const item of activities) {
    obj.Activities.push({
    '$type': 'Activity',
    '$version': '0.0.1',
    ActivityCrewSize: fn.normalizeSpace(hl.elementText(item, "CrewSize", true)),
    ActivitySeqNo, fn.normalizeSpace(hl.elementText(item, "SeqNo", true)),
    ActivityDesc: hl.elementText(item, null, true)
     });
}

return obj;