我需要读取 XML 有效负载中的一些元素并将这些元素中的数据发送到第三方系统。为此,我需要首先检查元素的数据是否存在,然后能够读取实际数据,以便将其发送到其他系统。我在浏览/阅读 XML 标签时遇到困难。下面是我的示例 XML。我想读取 SSN、IDNumber 和 DriverNo。我尝试使用payload.session.data.account.SSN,但它似乎不起作用。
<ns0:session Destination="ALL" id="88888" ODSId="633d8812-b35b-4f12-8206-09f2d1a1455e" charge="-5941" count="1" dateStamp="2021-09-07T04:39:14" effectiveDate="2021-09-06" index="1" policyID="88888" sequence="3" transactionType="Cancel" transGroup="tE7E43B47B9234B15B5CE27444FA96909" transHistoryId="1051484" type="onset" OOSInsertIndex="1" finalReapplyCRPair="0" xmlns:ns0="http://Atlas.Schemas.Policy/1.0">
<data id="d65845D5408974BC7BD8286A45AF48B9E" ODSId="633d8812-b35b-4f12-8206-09f2d1a1455e">
<account id="a2F6F1D78A33C4C2CB980B68AE8349B19" ODSId="633d8812-b35b-4f12-8206-09f2d1a1455e">
<SSN>123456789</SSN>
<IDNumber>129</IDNumber>
<name>testing</name>
<driver change="0" written="0" id="d2788BE2CFE0E459DBDC221015A30A45C" deleted="0" ODSId="633d8812-b35b-4f12-8206-09f2d1a1455e">
<DriverNo>0000000000000</DriverNo>
<DriverLockedIndicator>0</DriverLockedIndicator>
</driver>
</account>
</data>
</ns0:session>
读取数据后,我的示例输出为 JSON 格式。
{
SSN: 123456789,
IDNumber: 129,
DriverNo: 0000000000000
}
%dw 2.0
output application/json
ns ns0 http://Atlas.Schemas.Policy/1.0
---
{
SSN: payload.ns0#session.data.account.SSN,
IDNumber: payload.ns0#session.data.account.IDNumber,
DriverNo: payload.ns0#session.data.account.driver.DriverNo
}