首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在文档没有根时编写END_DOCUMENT (即,正在尝试输出空文档,同时在\n1| %dw 2.0写入Xml \n

尝试在文档没有根时编写END_DOCUMENT (即,正在尝试输出空文档,同时在\n1| %dw 2.0写入Xml \n
EN

Stack Overflow用户
提问于 2021-01-05 21:46:10
回答 1查看 656关注 0票数 0

我看到类似“当文档没有根目录时尝试写入END_DOCUMENT”的错误,而我使用提到的

脚本:

代码语言:javascript
复制
%dw 2.0 
output application/xml
ns ns0 urn:astrazeneca:na:Activity:domain:3 
---
payload.ns0#Interactions.ns0#Interaction.ns0#InteractionId.ns0#ID 

输入:

代码语言:javascript
复制
<Interactions>
    <Interaction>
        <InteractionId>
            <ID SystemCode="VNA">a044U00002GXVN1QAP</ID>
        </InteractionId>
        <InteractionDetails ></InteractionDetails>
        <Activity CreatedOnDate="2021-01-04T18:13:15">
            <ActivityId>
                <ns2:ID SystemCode="VNA">a084U00001dFR7aQAG</ns2:ID>
            </ActivityId>
        </Activity>
    </Interaction>
</Interactions>
EN

回答 1

Stack Overflow用户

发布于 2021-01-06 00:19:20

这里缺少信息,并且示例输入确实与脚本不匹配,但是脚本看起来试图以XML格式输出单个值("a044U00002GXVN1QAP")。这是无效的,因为字符串不是有效的XML。您需要在输出中定义一个根元素,以便它可以生成有效的XML。

示例(为简单起见,删除名称空间):

代码语言:javascript
复制
%dw 2.0 
output application/xml
---
{ someRoot: payload.Interactions.Interaction.InteractionId.ID }

输出:

代码语言:javascript
复制
<?xml version='1.0' encoding='UTF-8'?>
<someRoot>a044U00002GXVN1QAP</someRoot>

如果只是尝试输出该id以便稍后在流程中处理,只需将输出改为application/java,这样它就不需要根元素,而且效率更高,从而避免了额外的XML格式化/解析。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65580130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档