1. Go to this page and download the library: Download prewk/xml-streamer library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
prewk / xml-streamer example snippets
class SimpleXmlStreamer extends \Prewk\XmlStreamer
{
public function processNode($xmlString, $elementName, $nodeIndex)
{
$xml = simplexml_load_string($xmlString);
$something = (string)$xml->Something->SomethingElse->ReadThis;
echo "$nodeIndex: Extracted string '$something' from parent node '$elementName'\n";
return true;
}
}
$streamer = new SimpleXmlStreamer("myLargeXmlFile.xml");
if ($streamer->parse()) {
echo "Finished successfully";
} else {
echo "Couldn't find root node";
}
class SimpleXmlStreamer extends \Prewk\XmlStreamer
{
protected $pdo;
protected $sql = array();
protected $values = array();
/**
* Called after the constructor completed class setup
*/
public function init()
{
$this->pdo = new PDO('mysql:host=localhost;dbname=test', 'user','pass');
}
public function processNode($xmlString, $elementName, $nodeIndex)
{
$xml = simplexml_load_string($xmlString);
$this->sql[] = '(?,?,?)';
$this->values[] = (string)$xml->name;
$this->values[] = (string)$xml->email;
$this->values[] = (string)$xml->phone;
}
/**
* Called after a file chunk was processed (16KB by default, see constructor)
*/
public function chunkCompleted()
{
if($this->sql===array()) {
return;
}
$command = $this->pdo->prepare('INSERT INTO mytable VALUES '.implode(',',$this->sql));
$command->execute($this->values);
$this->sql = $this->values = array();
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.