繁体   English   中英

DataMapper 输入模式未读取所有 XML 有效负载

[英]DataMapper input schema is not reading all the XML payload

我有一个包含重复节点的 xml 有效负载取决于响应。 加载输入模式时,图表仅显示根元素中的第一次出现。

我希望 DataMapper 调解器读取所有出现,处理它们,然后将结果发送到客户端,而不是只处理第一次出现。

我的 XML 输入如下:

 <NVprotocol> <CDMA> <id>1</id> <value>2</value> </CDMA> <CDMA> <id>5</id> <value>7</value> </CDMA> </NVprotocol>

但是 DataMapper 只处理第一个节点及其子节点。

请问有什么帮助吗?

加载输入模式时,图表仅显示根元素中的第一次出现。

即使它只显示第一次出现,它也会 map 映射中的所有出现。

我正在使用以下输入和 output 文件来创建映射:

输入。xml

<NVprotocol>
    <CDMA>
        <id>1</id>
        <value>2</value>
    </CDMA>
    <CDMA>
        <id>5</id>
        <value>7</value>
    </CDMA>
</NVprotocol>

output.json

{
    "NVprotocol": [
        {
            "CDMA": {
                "id": 1,
                "val": 2
            }
        },
                {
            "CDMA": {
                "id": 3,
                "val": 4
            }
        }
    ]
}

映射

xml到json映射 实时数据映射器预览

在此处输入图像描述

之后,使用“导出复合应用程序项目”选项在代理或 API 中保存并导出此数据映射。

然后发送带有以下正文的请求。

<NVprotocol>
<CDMA>
  <id>1</id>
  <value>2</value>
</CDMA>
<CDMA>
  <id>5</id>
  <value>7</value>
</CDMA>
<CDMA>
  <id>5</id>
  <value>7</value>
</CDMA>
<CDMA>
  <id>5</id>
  <value>7</value>
</CDMA>
</NVprotocol>

您将收到以下回复。

{
    "NVprotocol": [
        {
            "CDMA": {
                "id": 1,
                "val": 2
            }
        },
        {
            "CDMA": {
                "id": 5,
                "val": 7
            }
        },
        {
            "CDMA": {
                "id": 5,
                "val": 7
            }
        },
        {
            "CDMA": {
                "id": 5,
                "val": 7
            }
        }
    ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM