Libreria DOMDocument per la gestione dei file XML

← ritorno a PHP


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 );