我正在尝试解析 APEX18 上的 XML 文件
XML结构是这样的:
<Document>
<group_1>
<group_1_1>
<MsgId>x</MsgId>
<CreDtTm>2023-05-01T16:20:06.770+00:00</CreDtTm>
<MsgPgntn>
<PgNb>1</PgNb>
<LastPgInd>richtig</LastPgInd>
</MsgPgntn>
</group_1_1>
<group_1_2>
<Id>36</Id>
<Acct>
<Id>
<Othr>
<Id>xxx</Id>
</Othr>
</Id>
<Ownr>
<Id>
<OrgId>
<AnyBIC>yyy</AnyBIC>
</OrgId>
</Id>
</Ownr>
</Acct>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>aaa</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">0.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2023-01-01</Dt>
</Dt>
</Bal>
<Bal>
<Tp>
<CdOrPrtry>
<Cd>bbb</Cd>
</CdOrPrtry>
</Tp>
<Amt Ccy="EUR">0.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Dt>
<Dt>2023-01-02</Dt>
</Dt>
</Bal>
</group_1_2>
</group_1>
</Document>
我通过 :P1_NEW(文件浏览器)项上传此文件,然后尝试使用以下查询选择它
select line_number, col001, col002, col003, col004, col005
from apex_application_temp_files x,
table(apex_data_parser.parse(
p_content => x.blob_content,
p_add_headers_row => 'Y',
p_row_selector => '/Document/group_1/group_1_2',
p_store_profile_to_collection => 'FILE_PARSER_COLLECTION',
p_file_name => x.filename)) y
where x.name = :P1_NEW
这就是我得到的结果
然而,我希望看到他们父母中的所有子标签作为单独的列。徒劳吗?如果可以,我如何设置我的行选择器以获取(对于此示例)Id、Acct、Ownr、Bal... 一次在不同列中的值?