我有一个 XML 文件,我通过提取标签值并将它们插入到表中来处理它。当文件具有多个相同类型的条目时,问题就出现了,如下所示。有没有办法在 xml 标签之间或 Document 标签之间循环。这个问题真的很简单(理论上),但我对使用 PL/SQL 转换 XML 文件不是很有经验。你有什么建议吗 ?
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ps.002.002.004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BlaBluBli>
<GrpHdr>
<MsgId>GJ1</MsgId>
<Acbm>2010-09-22T14:47:05</Acbm>
<NbOfTxs>1</NbOfTxs>
<OtherTag >1.01</OtherTag>
<ThisTag>2015-02-09</ThisTag>
</GrpHdr>
</BlaBluBli>
</Document>
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ps.002.002.004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BlaBluBli>
<GrpHdr>
<MsgId>GJ2</MsgId>
<Acbm>2010-09-22T14:47:05</Acbm>
<NbOfTxs>1</NbOfTxs>
<OtherTag >2.01</OtherTag>
<ThisTag>2015-02-09</ThisTag>
</GrpHdr>
</BlaBluBli>
</Document>
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ps.002.002.004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BlaBluBli>
<GrpHdr>
<MsgId>GJ3</MsgId>
<Acbm>2010-09-22T14:47:05</Acbm>
<NbOfTxs>1</NbOfTxs>
<OtherTag >3.01</OtherTag>
<ThisTag>2015-02-09</ThisTag>
</GrpHdr>
</BlaBluBli>
</Document>
结果应该是三个文件。
1-
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ps.002.002.004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BlaBluBli>
<GrpHdr>
<MsgId>GJ1</MsgId>
<Acbm>2010-09-22T14:47:05</Acbm>
<NbOfTxs>1</NbOfTxs>
<OtherTag >1.01</OtherTag>
<ThisTag>2015-02-09</ThisTag>
</GrpHdr>
</BlaBluBli>
</Document>
2-
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ps.002.002.004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BlaBluBli>
<GrpHdr>
<MsgId>GJ2</MsgId>
<Acbm>2010-09-22T14:47:05</Acbm>
<NbOfTxs>1</NbOfTxs>
<OtherTag >2.01</OtherTag>
<ThisTag>2015-02-09</ThisTag>
</GrpHdr>
</BlaBluBli>
</Document>
3-
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:ps.002.002.004"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<BlaBluBli>
<GrpHdr>
<MsgId>GJ3</MsgId>
<Acbm>2010-09-22T14:47:05</Acbm>
<NbOfTxs>1</NbOfTxs>
<OtherTag >3.01</OtherTag>
<ThisTag>2015-02-09</ThisTag>
</GrpHdr>
</BlaBluBli>
</Document>