我正在尝试在 PL/SQL 中解析此 XML
<?xml version="1.0" encoding="utf-8"?>
<!--ADOR Acknowledgement 2-->
<AckTransmission xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.irs.gov/efile">
<TransmissionHeader recordCount="1">
<Jurisdiction>ALABAMA</Jurisdiction>
<TransmissionId>1946157056</TransmissionId>
<Timestamp>2012-08-16T01:25:47-05:00</Timestamp>
<Transmitter>
<ETIN>00000</ETIN>
</Transmitter>
<ProcessType>T</ProcessType>
<AgentIdentifier>ACK</AgentIdentifier>
</TransmissionHeader>
<Acknowledgement>
<SubmissionId>X1684956672</SubmissionId>
<EFIN>X16849</EFIN>
<GovernmentCode>ALST</GovernmentCode>
<SubmissionType>XMLTOM</SubmissionType>
<TaxYear>9999</TaxYear>
<SubmissionCategory>MFET</SubmissionCategory>
<AcceptanceStatus>A</AcceptanceStatus>
<ContainedAlerts>0</ContainedAlerts>
<StatusDate>2012-08-16</StatusDate>
</Acknowledgement>
</AckTransmission>
我将此 XML 存储在表中,并使用函数从中提取数据。但它并不成功:
SELECT EXTRACTVALUE (VALUE (xml_list), '//@GovernmentCode/') AS SysID
INTO lv_transid
FROM TABLE (
XMLSEQUENCE (
EXTRACT (in_xmlclob, '/AckTransmission/Acknowledgement',
'xmlns="http://www.irs.gov/efile"'))) xml_list;
你能帮我解析这个 XML 并将其加载到表中吗?
您还可以告诉我如何获得评论部分--ADOR致谢2--
我认为你这里有两件事是错误的:
进行这些更改后,您将得到以下代码。我对其进行了快速测试,它似乎有效:
SELECT EXTRACTVALUE (VALUE (xml_list), '//GovernmentCode', 'xmlns="http://www.irs.gov/efile"') AS SysID
INTO lv_transid
FROM TABLE (
XMLSEQUENCE (
EXTRACT (in_xmlclob, '/AckTransmission/Acknowledgement',
'xmlns="http://www.irs.gov/efile"'))) xml_list;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)