Deleting lines on matching certain pattern

hi

I have a large xml file from which i have taken few lines . In this file I have to find for the string </invoices> and check if the 3 rd line after this string does not begin with <portCode> ,then i have to delete the string </invoices> and the next line having the string </shippingBill> . In other words if the 3rd line after the string begins with <invoiceSerialNo> then i have to delete the string </invoices> and the next line having the string </shippingBill>

Thanks in anticipation

   <shippingBill> 
      <portCode>INAJJ6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>6574340</shippingBillNo> 
      <shippingBillDate>11/12/2014</shippingBillDate> 
      <formNo></formNo> 
      <LEODate>11/12/2014</LEODate> 
      <adCode>0240345</adCode> 
      <ebrcNumber>M96EXCU143630003</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>1</invoiceSerialNo> 
        <invoiceNo>ICCEXP14-15RP/189</invoiceNo> 
        <invoiceDate></invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>EUR</realizedCurrencyCode> 
        <realizationDate>07/05/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>90</bankingChargesAmt> 
        <FOBAmt>29807.68</FOBAmt> 
        <FOBAmtIC>29717.68</FOBAmtIC> 
        <freightAmt>131733</freightAmt> 
        <freightAmtIC>131733</freightAmtIC> 
        <insuranceAmt>279</insuranceAmt> 
        <insuranceAmtIC>279</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>1</closeOfBillIndicator> 
        <remitterName>SOLIDARIDAD Y TRABAJO</remitterName> 
        <remitterCountry>ES</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
   <shippingBill> 
      <portCode>INDIG6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>7627181</shippingBillNo> 
      <shippingBillDate>05/02/2015</shippingBillDate> 
      <formNo></formNo> 
      <LEODate>05/02/2015</LEODate> 
      <adCode>0242412</adCode> 
      <ebrcNumber>N41EXCU150730003</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>1</invoiceSerialNo> 
        <invoiceNo>2015EUEX000000043</invoiceNo> 
        <invoiceDate></invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>23/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>25</bankingChargesAmt> 
        <FOBAmt>11551.68</FOBAmt> 
        <FOBAmtIC>11526.68</FOBAmtIC> 
        <freightAmt>573.95</freightAmt> 
        <freightAmtIC>573.95</freightAmtIC> 
        <insuranceAmt>3.63</insuranceAmt> 
        <insuranceAmtIC>3.63</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>CONCENTRIC ITASCA INC</remitterName> 
        <remitterCountry>US</remitterCountry> 
       </invoice> 
    <invoice> 
        <invoiceSerialNo>3066846</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/364/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>1292.15</FOBAmt> 
        <FOBAmtIC>1292.15</FOBAmtIC> 
        <freightAmt>10</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>1</insuranceAmt> 
        <insuranceAmtIC>1</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066850</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/365/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>371.1</FOBAmt> 
        <FOBAmtIC>371.1</FOBAmtIC> 
        <freightAmt>3</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>1</insuranceAmt> 
        <insuranceAmtIC>1</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066854</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/366/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>13725.6</FOBAmt> 
        <FOBAmtIC>13725.6</FOBAmtIC> 
        <freightAmt>101</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>15</insuranceAmt> 
        <insuranceAmtIC>15</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066864</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/367/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>6448.57</FOBAmt> 
        <FOBAmtIC>6448.57</FOBAmtIC> 
        <freightAmt>48</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>7</insuranceAmt> 
        <insuranceAmtIC>7</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066878</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/368/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>5169.58</FOBAmt> 
        <FOBAmtIC>5169.58</FOBAmtIC> 
        <freightAmt>38</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>6</insuranceAmt> 
        <insuranceAmtIC>6</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>2542605</invoiceSerialNo> 
        <invoiceNo>O-025</invoiceNo> 
        <invoiceDate>03/07/2014</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>27/11/2014</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>504.12</bankingChargesAmt> 
        <FOBAmt>10020</FOBAmt> 
        <FOBAmtIC>10020</FOBAmtIC> 
        <freightAmt>0</freightAmt> 
        <freightAmtIC>0</freightAmtIC> 
        <insuranceAmt>0</insuranceAmt> 
        <insuranceAmtIC>0</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt></discountAmt> 
        <discountAmtIC></discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>LEE AND SOH TRADING COMPANY</remitterName> 
        <remitterCountry>BN</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
   <shippingBill> 
      <portCode>INFLT6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>0000359</shippingBillNo> 
      <shippingBillDate>02/02/2015</shippingBillDate> 
      <formNo>G15000460701</formNo> 
      <LEODate>02/02/2015</LEODate> 
      <adCode>0242081</adCode> 
      <ebrcNumber>H53EBOU150480008</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>3156545</invoiceSerialNo> 
        <invoiceNo>F15152</invoiceNo> 
        <invoiceDate>31/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>EUR</realizedCurrencyCode> 
        <realizationDate>20/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>2303.43</FOBAmt> 
        <FOBAmtIC>2303.43</FOBAmtIC> 
        <freightAmt>3000</freightAmt> 
        <freightAmtIC>3000</freightAmtIC> 
        <insuranceAmt>115</insuranceAmt> 
        <insuranceAmtIC>115</insuranceAmtIC> 
        <commissionAmt>234.91</commissionAmt> 
        <commissionAmtIC>234.91</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>1</closeOfBillIndicator> 
        <remitterName>ALTEA S R L</remitterName> 
        <remitterCountry>IT</remitterCountry> 
       </invoice> 
    <invoice> 
        <invoiceSerialNo>3085228</invoiceSerialNo> 
        <invoiceNo>EX-082/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>23/01/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>131115</FOBAmt> 
        <FOBAmtIC>131115</FOBAmtIC> 
        <freightAmt>345.85</freightAmt> 
        <freightAmtIC>345.85</freightAmtIC> 
        <insuranceAmt>59.15</insuranceAmt> 
        <insuranceAmtIC>59.15</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>ALBREKTS GULD</remitterName> 
        <remitterCountry>SE</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
   <shippingBill> 
      <portCode>INNDA6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>0000405</shippingBillNo> 
      <shippingBillDate>08/01/2015</shippingBillDate> 
      <formNo>G15000421178</formNo> 
      <LEODate>09/01/2015</LEODate> 
      <adCode>0242327</adCode> 
      <ebrcNumber>M01EBFA150840020</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>3087662</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/373/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>522.35</FOBAmt> 
        <FOBAmtIC>522.35</FOBAmtIC> 
        <freightAmt>4</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>1</insuranceAmt> 
        <insuranceAmtIC>1</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
    <invoice> 
        <invoiceSerialNo>3087672</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/374/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>20002.24</FOBAmt> 
        <FOBAmtIC>20002.24</FOBAmtIC> 
        <freightAmt>141</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>21</insuranceAmt> 
        <insuranceAmtIC>21</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3087674</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/375/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>7742.45</FOBAmt> 
        <FOBAmtIC>7742.45</FOBAmtIC> 
        <freightAmt>55</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>8</insuranceAmt> 
        <insuranceAmtIC>8</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill>
<shippingBill> 
      <portCode>INDIG6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>7627181</shippingBillNo> 
      <shippingBillDate>05/02/2015</shippingBillDate> 
      <formNo></formNo> 
      <LEODate>05/02/2015</LEODate> 
      <adCode>0242412</adCode> 
      <ebrcNumber>N41EXCU150730003</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>1</invoiceSerialNo> 
        <invoiceNo>2015EUEX000000043</invoiceNo> 
        <invoiceDate></invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>23/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>25</bankingChargesAmt> 
        <FOBAmt>11551.68</FOBAmt> 
        <FOBAmtIC>11526.68</FOBAmtIC> 
        <freightAmt>573.95</freightAmt> 
        <freightAmtIC>573.95</freightAmtIC> 
        <insuranceAmt>3.63</insuranceAmt> 
        <insuranceAmtIC>3.63</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>CONCENTRIC ITASCA INC</remitterName> 
        <remitterCountry>US</remitterCountry> 
       </invoice> 
    <invoice> 
        <invoiceSerialNo>3066846</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/364/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>1292.15</FOBAmt> 
        <FOBAmtIC>1292.15</FOBAmtIC> 
        <freightAmt>10</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>1</insuranceAmt> 
        <insuranceAmtIC>1</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066850</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/365/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>371.1</FOBAmt> 
        <FOBAmtIC>371.1</FOBAmtIC> 
        <freightAmt>3</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>1</insuranceAmt> 
        <insuranceAmtIC>1</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066854</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/366/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>13725.6</FOBAmt> 
        <FOBAmtIC>13725.6</FOBAmtIC> 
        <freightAmt>101</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>15</insuranceAmt> 
        <insuranceAmtIC>15</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066864</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/367/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>6448.57</FOBAmt> 
        <FOBAmtIC>6448.57</FOBAmtIC> 
        <freightAmt>48</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>7</insuranceAmt> 
        <insuranceAmtIC>7</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3066878</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/368/14-15</invoiceNo> 
        <invoiceDate>02/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>5169.58</FOBAmt> 
        <FOBAmtIC>5169.58</FOBAmtIC> 
        <freightAmt>38</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>6</insuranceAmt> 
        <insuranceAmtIC>6</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>2542605</invoiceSerialNo> 
        <invoiceNo>O-025</invoiceNo> 
        <invoiceDate>03/07/2014</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>27/11/2014</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>504.12</bankingChargesAmt> 
        <FOBAmt>10020</FOBAmt> 
        <FOBAmtIC>10020</FOBAmtIC> 
        <freightAmt>0</freightAmt> 
        <freightAmtIC>0</freightAmtIC> 
        <insuranceAmt>0</insuranceAmt> 
        <insuranceAmtIC>0</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt></discountAmt> 
        <discountAmtIC></discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>LEE AND SOH TRADING COMPANY</remitterName> 
        <remitterCountry>BN</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
   <shippingBill> 
      <portCode>INFLT6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>0000359</shippingBillNo> 
      <shippingBillDate>02/02/2015</shippingBillDate> 
      <formNo>G15000460701</formNo> 
      <LEODate>02/02/2015</LEODate> 
      <adCode>0242081</adCode> 
      <ebrcNumber>H53EBOU150480008</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>3156545</invoiceSerialNo> 
        <invoiceNo>F15152</invoiceNo> 
        <invoiceDate>31/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>EUR</realizedCurrencyCode> 
        <realizationDate>20/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>2303.43</FOBAmt> 
        <FOBAmtIC>2303.43</FOBAmtIC> 
        <freightAmt>3000</freightAmt> 
        <freightAmtIC>3000</freightAmtIC> 
        <insuranceAmt>115</insuranceAmt> 
        <insuranceAmtIC>115</insuranceAmtIC> 
        <commissionAmt>234.91</commissionAmt> 
        <commissionAmtIC>234.91</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>1</closeOfBillIndicator> 
        <remitterName>ALTEA S R L</remitterName> 
        <remitterCountry>IT</remitterCountry> 
       </invoice> 
    <invoice> 
        <invoiceSerialNo>3085228</invoiceSerialNo> 
        <invoiceNo>EX-082/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>23/01/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>131115</FOBAmt> 
        <FOBAmtIC>131115</FOBAmtIC> 
        <freightAmt>345.85</freightAmt> 
        <freightAmtIC>345.85</freightAmtIC> 
        <insuranceAmt>59.15</insuranceAmt> 
        <insuranceAmtIC>59.15</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>ALBREKTS GULD</remitterName> 
        <remitterCountry>SE</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
   <shippingBill> 
      <portCode>INNDA6</portCode> 
      <exportType>1</exportType> 
      <recordIndicator>1</recordIndicator> 
      <shippingBillNo>0000405</shippingBillNo> 
      <shippingBillDate>08/01/2015</shippingBillDate> 
      <formNo>G15000421178</formNo> 
      <LEODate>09/01/2015</LEODate> 
      <adCode>0242327</adCode> 
      <ebrcNumber>M01EBFA150840020</ebrcNumber> 
   <invoices> 
    <invoice> 
        <invoiceSerialNo>3087662</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/373/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>522.35</FOBAmt> 
        <FOBAmtIC>522.35</FOBAmtIC> 
        <freightAmt>4</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>1</insuranceAmt> 
        <insuranceAmtIC>1</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
    <invoice> 
        <invoiceSerialNo>3087672</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/374/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>20002.24</FOBAmt> 
        <FOBAmtIC>20002.24</FOBAmtIC> 
        <freightAmt>141</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>21</insuranceAmt> 
        <insuranceAmtIC>21</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill> 
    <invoice> 
        <invoiceSerialNo>3087674</invoiceSerialNo> 
        <invoiceNo>DC-G/NSEZ/375/14-15</invoiceNo> 
        <invoiceDate>08/01/2015</invoiceDate> 
        <realizationStatus>2</realizationStatus> 
        <FIRCNumber></FIRCNumber> 
        <FIRCADCode></FIRCADCode> 
        <realizedCurrencyCode>USD</realizedCurrencyCode> 
        <realizationDate>24/04/2015</realizationDate> 
        <accountNumber></accountNumber> 
        <bankingChargesAmt>0</bankingChargesAmt> 
        <FOBAmt>7742.45</FOBAmt> 
        <FOBAmtIC>7742.45</FOBAmtIC> 
        <freightAmt>55</freightAmt> 
        <freightAmtIC>200</freightAmtIC> 
        <insuranceAmt>8</insuranceAmt> 
        <insuranceAmtIC>8</insuranceAmtIC> 
        <commissionAmt>0</commissionAmt> 
        <commissionAmtIC>0</commissionAmtIC> 
        <packagingChargesAmt>0</packagingChargesAmt> 
        <packagingChargesAmtIC>0</packagingChargesAmtIC> 
        <deductionAmt>0</deductionAmt> 
        <deductionAmtIC>0</deductionAmtIC> 
        <discountAmt>0</discountAmt> 
        <discountAmtIC>0</discountAmtIC> 
        <closeOfBillIndicator>2</closeOfBillIndicator> 
        <remitterName>HISTOIRE D OR SA</remitterName> 
        <remitterCountry>FR</remitterCountry> 
       </invoice> 
     </invoices> 
   </shippingBill>

A shorter example would have been appreciated, and highlighting the lines you wanted removed from your sample XML file would help us clearly understand what you're trying to do...

Do the spaces at the ends of some of your strings have to be matched, or is matching the closing tags in your strings sufficient?

What have you tried to solve this problem?

What operating system are you using?

Hi

What I have done is a i have taken a output of the xml query and generated this xml using a script however in the xml wherever there is more than 2 child i have this problem which i could not resolve

I'm sorry for the large example ,For easier understanding
I have cut a portion of the earlier xml . What i'm looking for is if the 3 rd line after the tag
</invoices> (Only the closing tag which i have made in bold) is

<portCode> then no need to do any action but if it is

<invoiceSerialNo> then i have to delete the line
</invoices> and the next line
</shippingBill>

<discountAmtIC>0</discountAmtIC>          <closeOfBillIndicator>1</closeOfBillIndicator>          <remitterName>SOLIDARIDAD Y TRABAJO</remitterName>          <remitterCountry>ES</remitterCountry>         </invoice>       </invoices>     </shippingBill>     <shippingBill>        <portCode>INDIG6</portCode>        <exportType>1</exportType>        <recordIndicator>1</recordIndicator>        <shippingBillNo>7627181</shippingBillNo>        <shippingBillDate>05/02/2015</shippingBillDate>        <formNo></formNo>        <LEODate>05/02/2015</LEODate>        <adCode>0242412</adCode>        <ebrcNumber>N41EXCU150730003</ebrcNumber>     <invoices>      <invoice>          <invoiceSerialNo>1</invoiceSerialNo>          <invoiceNo>2015EUEX000000043</invoiceNo>          <invoiceDate></invoiceDate>          <realizationStatus>2</realizationStatus>          <FIRCNumber></FIRCNumber>          <FIRCADCode></FIRCADCode>          <realizedCurrencyCode>USD</realizedCurrencyCode>          <realizationDate>23/04/2015</realizationDate>          <accountNumber></accountNumber>          <bankingChargesAmt>25</bankingChargesAmt>          <FOBAmt>11551.68</FOBAmt>          <FOBAmtIC>11526.68</FOBAmtIC>          <freightAmt>573.95</freightAmt>          <freightAmtIC>573.95</freightAmtIC>          <insuranceAmt>3.63</insuranceAmt>          <insuranceAmtIC>3.63</insuranceAmtIC>          <commissionAmt>0</commissionAmt>          <commissionAmtIC>0</commissionAmtIC>          <packagingChargesAmt>0</packagingChargesAmt>          <packagingChargesAmtIC>0</packagingChargesAmtIC>          <deductionAmt>0</deductionAmt>          <deductionAmtIC>0</deductionAmtIC>          <discountAmt>0</discountAmt>          <discountAmtIC>0</discountAmtIC>          <closeOfBillIndicator>2</closeOfBillIndicator>          <remitterName>CONCENTRIC ITASCA INC</remitterName>          <remitterCountry>US</remitterCountry>         </invoice>      <invoice>          <invoiceSerialNo>3066846</invoiceSerialNo>          <invoiceNo>DC-G/NSEZ/364/14-15</invoiceNo>          <invoiceDate>02/01/2015</invoiceDate>          <realizationStatus>2</realizationStatus>          <FIRCNumber></FIRCNumber>          <FIRCADCode></FIRCADCode>          <realizedCurrencyCode>USD</realizedCurrencyCode>          <realizationDate>24/04/2015</realizationDate>          <accountNumber></accountNumber>          <bankingChargesAmt>0</bankingChargesAmt>          <FOBAmt>1292.15</FOBAmt>          <FOBAmtIC>1292.15</FOBAmtIC>          <freightAmt>10</freightAmt>          <freightAmtIC>200</freightAmtIC>          <insuranceAmt>1</insuranceAmt>          <insuranceAmtIC>1</insuranceAmtIC>          <commissionAmt>0</commissionAmt>          <commissionAmtIC>0</commissionAmtIC>          <packagingChargesAmt>0</packagingChargesAmt>          <packagingChargesAmtIC>0</packagingChargesAmtIC>          <deductionAmt>0</deductionAmt>          <deductionAmtIC>0</deductionAmtIC>          <discountAmt>0</discountAmt>          <discountAmtIC>0</discountAmtIC>          <closeOfBillIndicator>2</closeOfBillIndicator>          <remitterName>HISTOIRE D OR SA</remitterName>          <remitterCountry>FR</remitterCountry>         </invoice>       <discountAmtIC>0</discountAmtIC>          <closeOfBillIndicator>1</closeOfBillIndicator>          <remitterName>SOLIDARIDAD Y TRABAJO</remitterName>          <remitterCountry>ES</remitterCountry>         </invoice>       </invoices>     </shippingBill>     <shippingBill>        <portCode>INDIG6</portCode>        <exportType>1</exportType>        <recordIndicator>1</recordIndicator>        <shippingBillNo>7627181</shippingBillNo>        <shippingBillDate>05/02/2015</shippingBillDate>        <formNo></formNo>        <LEODate>05/02/2015</LEODate>        <adCode>0242412</adCode>        <ebrcNumber>N41EXCU150730003</ebrcNumber>     <invoices>     <invoice>         <invoiceSerialNo>1</invoiceSerialNo>          <invoiceNo>2015EUEX000000043</invoiceNo>          <invoiceDate></invoiceDate>          <realizationStatus>2</realizationStatus>          <FIRCNumber></FIRCNumber>          <FIRCADCode></FIRCADCode>          <realizedCurrencyCode>USD</realizedCurrencyCode>          <realizationDate>23/04/2015</realizationDate>          <accountNumber></accountNumber>          <bankingChargesAmt>25</bankingChargesAmt>          <FOBAmt>11551.68</FOBAmt>          <FOBAmtIC>11526.68</FOBAmtIC>          <freightAmt>573.95</freightAmt>          <freightAmtIC>573.95</freightAmtIC>          <insuranceAmt>3.63</insuranceAmt>          <insuranceAmtIC>3.63</insuranceAmtIC>          <commissionAmt>0</commissionAmt>          <commissionAmtIC>0</commissionAmtIC>          <packagingChargesAmt>0</packagingChargesAmt>          <packagingChargesAmtIC>0</packagingChargesAmtIC>          <deductionAmt>0</deductionAmt>          <deductionAmtIC>0</deductionAmtIC>          <discountAmt>0</discountAmt>          <discountAmtIC>0</discountAmtIC>          <closeOfBillIndicator>2</closeOfBillIndicator>          <remitterName>CONCENTRIC ITASCA INC</remitterName>          <remitterCountry>US</remitterCountry>         </invoice>      <invoice>          <invoiceSerialNo>3066846</invoiceSerialNo>          <invoiceNo>DC-G/NSEZ/364/14-15</invoiceNo>          <invoiceDate>02/01/2015</invoiceDate>          <realizationStatus>2</realizationStatus>          <FIRCNumber></FIRCNumber>          <FIRCADCode></FIRCADCode>          <realizedCurrencyCode>USD</realizedCurrencyCode>          <realizationDate>24/04/2015</realizationDate>          <accountNumber></accountNumber>          <bankingChargesAmt>0</bankingChargesAmt>          <FOBAmt>1292.15</FOBAmt>          <FOBAmtIC>1292.15</FOBAmtIC>          <freightAmt>10</freightAmt>          <freightAmtIC>200</freightAmtIC>          <insuranceAmt>1</insuranceAmt>          <insuranceAmtIC>1</insuranceAmtIC>          <commissionAmt>0</commissionAmt>          <commissionAmtIC>0</commissionAmtIC>          <packagingChargesAmt>0</packagingChargesAmt>          <packagingChargesAmtIC>0</packagingChargesAmtIC>          <deductionAmt>0</deductionAmt>          <deductionAmtIC>0</deductionAmtIC>          <discountAmt>0</discountAmt>          <discountAmtIC>0</discountAmtIC>          <closeOfBillIndicator>2</closeOfBillIndicator>          <remitterName>HISTOIRE D OR SA</remitterName>          <remitterCountry>FR</remitterCountry>         </invoice>       </invoices>     </shippingBill>      <invoice>          <invoiceSerialNo>3066850</invoiceSerialNo>          <invoiceNo>DC-G/NSEZ/365/14-15</invoiceNo>       </shippingBill>      <invoice>          <invoiceSerialNo>3066850</invoiceSerialNo>          <invoiceNo>DC-G/NSEZ/365/14-15</invoiceNo>

Your refusal to use CODE tags makes it impossible to see the difference between a single space and a sequence of one or more space and tab characters. Please use CODE tags as required by the rules you agreed to when you joined the UNIX & Linux Forums.

Your choice to put an entire XML file on a single line makes the text processing tools available on UNIX-like systems unusable. The standards leave the results unspecified if lines in the files being processed are longer than LINE_MAX bytes (including the terminating <newline> character). On many systems LINE_MAX is 2048.

Your refusal to tell us what operating system you're using, along with a single line XML file, makes coming up with a script that might work for you overly complicated.

And, talking about the 3rd line after something in a file that only contains one line, by definition, means that you don't want anything changed.

Sorry again ,I'll retry
I want to search for the string <invoiceSerialNo> and if the 2nd line and 3rd line above this string is </invoices> and </shippingBill> then delete the 2nd and 3rd lines above the string ( ie delete </invoices> and </shippingBill>) .Thanks again

<ebrcNumber>N41EXCU150730003</ebrcNumber>
   <invoices>
    <invoice>
        <invoiceSerialNo>1</invoiceSerialNo> 
</invoices>
  </shippingBill>
    <invoice>
        <invoiceSerialNo>3066850</invoiceSerialNo>
</invoices>
   </shippingBill>
    <invoice>
        <invoiceSerialNo>3066854</invoiceSerialNo>
 <ebrcNumber>N41EXCU150030008</ebrcNumber>
   <invoices>
    <invoice>
        <invoiceSerialNo>1</invoiceSerialNo>

So, no attempts from your part?

---------- Post updated at 15:59 ---------- Previous update was at 15:59 ----------

Anyhow, try

awk '
/<\/invoices>/  {SLINV = $0
                 getline SB
                 getline INV
                 getline
                 if     (/<invoiceSerialNo>/ &&
                         SB ~ /<\/shippingBill>/)       {print SLINV
                                                         print SB   
                                                        }
                 print INV}
1
' file

and comment on the result.

Thanks Rudi

the script is deleting the lines

</invoices>
   </shippingBill>

,but at the wrong place .In other words it is deleting tags above line starting with

<portCode>

instead of the line starting with

<invoiceSerialNo>

As regards my efforts i was trying with a for loop which was not working something like

#!/usr/bin/sh
for i in `grep -B 2 "<invoiceSerialNo>" `
do
nawk '{gsub (shippingBill,"");print}' test2  >> s
done

Thanks again

Try

awk '
/<\/invoices>/  {SLINV = $0
                 getline SB
                 getline INV
                 getline
                 if     (!(/<invoiceSerialNo/ &&
                         SB ~ /<\/shippingBill>/))      {print SLINV
                                                         print SB
                                                        }
                 print INV}
1
' file

:b::b: The script is working superbly and only those tags are removed as expected. I have also removed the blank lines by piping

 awk '!/^$/' 

Thanks a lot .You,ve saved a lot of time for me as I have to submit this on a daily basis .Thanks Again
Due to my basic awk knowledge i could not understand the code fully .Can you please be kind enough to explain the code for me and other users benefit .

Why pipe through awk once more if that can be done in one go? Try

awk '
/^ *$/          {next}                                          # remove blank lines
/<\/invoices>/  {SLINV = $0                                     # if $0 matches </invoices>, save it in SLINV
                 getline SB                                     # read three more lines, save in variables
                 getline INV                              
                 getline                                        # don't save this as its needed for matching and later printing $0
                 if     (!(/<invoiceSerialNo/ &&                # test for the conditions 2 and 3; if both met, don't print
                         SB ~ /<\/shippingBill>/))      {print SLINV
                                                         print SB
                                                        }
                 print INV}                                     # print regardless of conditions 
1                                                               # default: print $0
' file
1 Like

Note: this will only work reliably if all lines are always completely empty. If there can sometimes be a space character somewhere on an otherwise empty line that would still count as an empty line, then it will not work for those lines..

A more reliable method then would be to use the NF variable:

awk NF

Thanks Rudi
It is working superbly and faster as well .Thanks for explaining the code .

Thanks to Scrutinizer as well for improving the code

:b::b::b::):):):slight_smile:

When I try RudiC's code with Scrutinizer's suggestion added in:

awk '
!NF             {next}
/<\/invoices>/  {SLINV = $0
                 getline SB
                 getline INV
                 getline
                 if     (!(/<invoiceSerialNo/ &&
                         SB ~ /<\/shippingBill>/))      {print SLINV
                                                         print SB
                                                        }
                 print INV}
1
' file

with file containing the sample XML file from post #1 in this thread, I get the following two lines added to the end of the output I would expect from that input:

   </shippingBill>
     </invoices> 

This appears to be because the getline calls aren't being checked for EOF before using the data. (At least that is what I get with awk on OS X. The standards do not specify whether the variable in a getline variable is cleared or left unchanged if an EOF is encountered.) Furthermore the 1st line in the script (throwing away blank lines) does not catch blank lines that might appear in the three lines read by:

                 getline SB
                 getline INV
                 getline

after a line containing </invoices> is found.

If I understand what is desired here, you might want to try:

awk '
function get3lines(	status) {
	while((status = getline) == 1 && !NF) {}
	if(status != 1) {
		print SLINV
		exit
	}
	SB = $0
	while((status = getline) == 1 && !NF) {}
	if(status != 1) {
		print SLINV
		print SB
		exit
	}
	INV = $0
	while((status = getline) == 1 && !NF) {}
	if(status != 1) {
		print SLINV
		print SB
		print INV
		exit
	}
}
!NF	{ next
}
/<\/invoices>/  {
	SLINV = $0
	get3lines()
	if(!(/<invoiceSerialNo/ &&
	    SB ~ /<\/shippingBill>/)) {
		print SLINV
		print SB
	}
	print INV
}
1
' file
1 Like

Absolutely! Thanks for pointing out.