Это код:
$xml = simplexml_load_file($candidateFile);
if (!$xml) {
$this->addCritical("ERROR: " . basename($candidateFile));
return;
}
$ModifiedXml = simplexml_load_string( str_replace( "\n</DESIGNATION_PLU>", '</DESIGNATION_PLU>', $xml ) );
Последняя строка не работает, все, что мне нужно, это то, что она будет использовать загруженный XML «$ xml», заменить некоторые вещи и продолжить работу, используямодифицированный XML.
Если мне неясно, или вам понадобится дополнительная информация, просто дайте мне знать.
Большой раздел кода:
$xml = simplexml_load_file($candidateFile);
if (!$xml) {
$this->addCritical("ERROR: " . basename($candidateFile));
return;
}
// Before it will write to the new files I need to fix original XML
$candidateFilenameParts = explode('_', basename($candidateFile));
$candidateFileDatetime = str_replace('.xml', '', $candidateFilenameParts[3]);
$headerFilename = "header_$candidateFileDatetime.csv";
$productFilename = "product_$candidateFileDatetime.csv";
$paymentFilename = "payment_$candidateFileDatetime.csv";
$this->addInfo("");
XML:Похоже, изначально значения в XML имели такие окончания, как "\ n"
<LIGNE>
<ID_TICKET>123</ID_TICKET>
<CODE_RAYON>123</CODE_RAYON>
<CODE_VENDEUR>123</CODE_VENDEUR>
<PLU>123</PLU>
<DESIGNATION_PLU>New 1234
---> Next line </DESIGNATION_PLU>
<CODE_EAN/>
<TYPE_ARTICLE>Pièce</TYPE_ARTICLE>
<QUANTITE_VENDUE>1</QUANTITE_VENDUE>
<UNITE_MESURE>123</UNITE_MESURE>
<PRIX_UNITAIRE_TTC>123</PRIX_UNITAIRE_TTC>
<MONTANT_VENTE_TTC>123</MONTANT_VENTE_TTC>
<SYMB_MONNAIE/>
<ANNULE>0</ANNULE>
<CODE_TVA>123</CODE_TVA>
<TVA_TAUX>123</TVA_TAUX>
<TYPE_TICKET>123</TYPE_TICKET>
<POURC_REMISE/>
<MONTANT_REMISE/>
</LIGNE>