Libreria DOMDocument per la gestione dei file XML
Creazione
// creo l'xml $domtree = new \DOMDocument( "1.0", "UTF-8" ); // xls $xslt = $domtree->createProcessingInstruction( "xml-stylesheet", 'type="text/xsl" href="'.\Cake\Routing\Router::url('/', true).'einvoice/FoglioStileAssoSoftware.xsl"' ); $domtree->appendChild( $xslt );
Attributi
$xmlRoot = $domtree->createElement( "p:FatturaElettronica" ); $domAttribute = $xmlRoot->setAttribute( "versione", $formato ); $domAttribute = $xmlRoot->setAttribute( "xmlns:ds", "http://www.w3.org/2000/09/xmldsig#" ); $domAttribute = $xmlRoot->setAttribute( "xmlns:p", "http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2" ); $domAttribute = $xmlRoot->setAttribute( "xmlns:xsi", "http://www.w3.org/2001/XMLSchema-instance" ); $domAttribute = $xmlRoot->setAttribute( "xsi:schemaLocation", "http://ivaservizi.agenziaentrate.gov.it/docs/xsd/fatture/v1.2 http://www.fatturapa.gov.it/export/fatturazione/sdi/fatturapa/v1.2/Schema_del_file_xml_FatturaPA_versione_1.2.xsd" ); $xmlRoot = $domtree->appendChild( $xmlRoot );
$elemento = $domtree->createElement( "FatturaElettronicaHeader" ); $xmlRoot->appendChild( $elemento );
Lettura
$document = new DOMDocument(); $document->loadXml($xml); foreach ($document->getElementsByTagName($tns, "pdmNumber") as $node) { var_dump($node->textContent); }
Salvataggio
$domtree->saveXML( $node ); ... $node->ownerDocument->saveXML( $node );