在php

时间:2015-08-11 11:35:51

标签: php xml

我已经使这个程序根据数组中的条目更新了xml文件。 我使用了FILE_APPEND,因为条目不止一个,否则文件会被覆盖。但问题是xml版本标签打印的次数是那么多的条目。 所以我想删除这个标签。 这是我的计划: -

    <?php
    include 'array.php';

    $xmlW = new XMLWriter();
    $file = 'entry-'. date('M-D-Y') .'.xml';

    /*$setting = new XMLWriterSettings();
    $setting->OmitXmlDeclaration = true;*/


    foreach($data as $d) {

        if(in_array ($d['Mode'], array('ccAV','MB','Paypal','E2P'))) {
        $recordType = 'receipt';
        $xml_object = simplexml_load_file ('receipt.xml');
    } else {
        $xml_object = simplexml_load_file ('journal.xml');
        $recordType = 'journal';
    }


    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER")[0]->DATE = $d['InvoiceDate'];
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER")[0]->NARRATION = 'Rahul';
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER")[0]->EFFECTIVEDATE = $d['InvoiceDate'];
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST")[0]->LEDGERNAME = $d['Mode'];
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST")[0]->AMOUNT = 'Rahul';
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST")[1]->AMOUNT = 'Rahul';
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST")[2]->AMOUNT = 'Rahul';
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST/BANKALLOCATIONS.LIST")[0]->DATE = 'Rahul';
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST/BANKALLOCATIONS.LIST")[0]->INSTRUMENTDATE = 'Rahul';
    $xml_object->xpath("/ENVELOPE/BODY/IMPORTDATA/REQUESTDATA/TALLYMESSAGE/VOUCHER/ALLLEDGERENTRIES.LIST/BANKALLOCATIONS.LIST")[0]->AMOUNT = 'Rahul';

    $xml = $xml_object->asXML();

    file_put_contents($file, $xml, FILE_APPEND);
    }
    ?>

感谢您的帮助。

0 个答案:

没有答案