ADF 处理 XML

问题描述 投票:0回答:1

我从 ADF 中的某些 Web 活动收到 xml 格式字符串的响应

    <Transactions>
    <Transaction
    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">
    <Header>
        <TransactionType>Type A</TransactionType>
        <BusinessRule>Rule 1</BusinessRule>
    </Header>
    <SimpleRule>
        <RuleCode>Code1223</RuleCode>
        <Description>text</Description>
        <IsDelete>N</IsDelete>
    </SimpleRule>
</Transaction>
<Transaction
    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">
    <Header>
        <TransactionType>Type A</TransactionType>
        <BusinessRule>Rule 2</BusinessRule>
    </Header>
    <SimpleRule>
        <RuleCode>CodeXYZ</RuleCode>
        <Description>text ABC</Description>
        <IsDelete>Y</IsDelete>
    </SimpleRule>
</Transaction>
</Transactions>

如何处理它,以便获得一个数组变量,其中每个元素都是该 xml 中的一个“事务”? 那么,在这种情况下 - 2 个元素和 2 个格式正确的 xml 元素? 我正在尝试将 @xpath 与

一起使用
@xpath(xml(variables('varTransactionsStr')), '
    //*[name()="Transaction"]
')

但是..

我得到了某种我无法理解的编码形式的结果

{
    "name": "varTransactions",
    "value": [
        {
            "$content-type": "application/xml;charset=utf-8",
            "$content": "PFRyYW5zYWN0aW9uPg0KICA8SGVhZGVyPg0KICAgIDxUcmFuc2FjdGlvblR5cGU+U0lNUExFUlVMRTwvVHJhbnNhY3Rpb25UeXBlPg0KICAgIDxCdXNpbmVzc1J1bGU+UFJPSkVDVDwvQnVzaW5lc3NSdWxlPg0KICA8L0hlYWRlcj4NCiAgPFNpbXBsZVJ1bGU+DQogICAgPFJ1bGVDb2RlPjQwMTkwMDEwMDAwMDA8L1J1bGVDb2RlPg0KICAgIDxEZXNjcmlwdGlvbj41MzAgQmxkZyBFbGVjdCBGZWVkIFJlcGxhY2U8L0Rlc2NyaXB0aW9uPg0KICAgIDxJc0RlbGV0ZT5OPC9Jc0RlbGV0ZT4NCiAgPC9TaW1wbGVSdWxlPg0KPC9UcmFuc2FjdGlvbj4="
        },
        {
            "$content-type": "application/xml;charset=utf-8",
            "$content": "PFRyYW5zYWN0aW9uPg0KICA8SGVhZGVyPg0KICAgIDxUcmFuc2FjdGlvblR5cGU+U0lNUExFUlVMRTwvVHJhbnNhY3Rpb25UeXBlPg0KICAgIDxCdXNpbmVzc1J1bGU+UFJPSkVDVDwvQnVzaW5lc3NSdWxlPg0KICA8L0hlYWRlcj4NCiAgPFNpbXBsZVJ1bGU+DQogICAgPFJ1bGVDb2RlPjQwMTkwMDIwMDAwMDA8L1J1bGVDb2RlPg0KICAgIDxEZXNjcmlwdGlvbj5aaW1tIFBhbCBWaWxsIExMIFdvcmsgKFBSKSBDQTwvRGVzY3JpcHRpb24+DQogICAgPElzRGVsZXRlPk48L0lzRGVsZXRlPg0KICA8L1NpbXBsZVJ1bGU+DQo8L1RyYW5zYWN0aW9uPg=="
        }
    ]
}

有人可以帮忙吗? 我的目标是获取 2 个格式正确的 xml 对象发送到管道下游。 (循环)

xml xml-parsing oracle-adf
1个回答
0
投票

实际上,编码值似乎是base64编码的,如果解码它就会给出我需要的内容。 有趣的是,我在后续活动中不必使用解码器。 看起来 ADF 只是在输出中“显示”编码值。 但如果稍后在变量或另一个活动中使用,它就是一个正确解码的值。 非常出乎意料,也很奇怪。

© www.soinside.com 2019 - 2024. All rights reserved.