Как разделить XML-файл в Oracle PLSQL
У меня есть файл XML, который я обрабатываю, извлекая значения тегов и вставляя их в таблицу. Проблема возникает, когда файл имеет несколько записей одного типа, как показано ниже. Есть ли способ зацикливаться между тегом xml или между тегом Document. Проблема действительно проста (теоретически), но я не очень опытен в преобразовании файлов XML с помощью PL/SQL. У вас есть какие-нибудь предложения?
<?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>