Как разделить 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>

0 ответов

Другие вопросы по тегам