jan-drda / pure-php-xml-writer
仅使用基本PHP函数编写的简单XML编写器库。
0.2.3
2019-09-10 07:10 UTC
README
Pure PHP XML Writer
仅使用基本PHP函数编写的简单XML编写器库。此项目的主要目的是在不使用大量内存的情况下生成大型XML文件(所有元素都传递到写入缓冲区,没有包含所有XML的对象存储在内存中)。
安装
composer require jan-drda/pure-php-xml-writer
然后将example.php复制到您的项目根目录。您可以根据需求修改它并运行。
如果您没有Composer
安装它,非常简单: https://getcomposer.org.cn/doc/00-intro.md
文档
请参阅example.php了解基本用法,我正在编写文档(正在将其复制到那里)。
/** * Composer autoload (only if you do not use it anywhere else) * * It is needed for namespace mapping */ require_once (dirname(__FILE__) . DIRECTORY_SEPARATOR . 'vendor' . DIRECTORY_SEPARATOR . 'autoload.php'); /** * Simple initialize XML Writer and auto open the file */ $xmlWriter = new \PurePhpXmlWriter\PurePhpXmlWriter('feed.xml'); /** * Open root element "items" (true = expecting children elements) */ $xmlWriter->openXMLElement('products', true); /** * Save simple product */ $xmlWriter->openXMLElement('product', true); // Open the parent element $xmlWriter->saveElementWithValue('name', 'Breakfast white mug'); // Name $xmlWriter->saveElementWithValue('description', 'Nice white mug used for breakfast'); // Description $xmlWriter->saveElementWithValue('price', 5.00, 2); // Price with 2 decimals $xmlWriter->saveElementWithValue('category', 'Mugs|Breakfast'); // Category $xmlWriter->saveElementWithValue('quantity', 20); // Quantity available $xmlWriter->closeXMLElement('product'); // Close the parent element /** * /Save simple product */ /** * Save variable product where variants have individual prices */ $xmlWriter->openXMLElement('product', true); // Open the parent element $xmlWriter->saveElementWithValue('name', 'Puma T-shirt'); // Name $xmlWriter->saveElementWithValue('description', 'Puma t-shirt with some sizes'); // Description $xmlWriter->saveElementWithValue('price', 10.00, 2); // Price with 2 decimals $xmlWriter->saveElementWithValue('category', 'T-shirts|Nike'); // Category $xmlWriter->saveElementWithValue('quantity', 10); // Quantity available $xmlWriter->openXMLElement('sizes', true); // Open the parent element for sizes // Small size $xmlWriter->openXMLElement('size', true); // Open the parent element for size $xmlWriter->saveElementWithValue('size_name', 'S'); // Size name $xmlWriter->saveElementWithValue('size_price', 10.00); // Size price with 2 decimals $xmlWriter->closeXMLElement('size', true); // Open the parent element for size // Medium size $xmlWriter->openXMLElement('size', true); // Open the parent element for size $xmlWriter->saveElementWithValue('size_name', 'M'); // Size name $xmlWriter->saveElementWithValue('size_price', 11.00); // Size price with 2 decimals $xmlWriter->closeXMLElement('size', true); // Open the parent element for size // Large size $xmlWriter->openXMLElement('size', true); // Open the parent element for size $xmlWriter->saveElementWithValue('size_name', 'L'); // Size name $xmlWriter->saveElementWithValue('size_price', 13.00); // Size price with 2 decimals $xmlWriter->closeXMLElement('size', true); // Open the parent element for size $xmlWriter->closeXMLElement('sizes', true); // Close the parent element for sizes $xmlWriter->closeXMLElement('product'); // Close the parent element /** * /Save variable product */ /** * Close root element "items" */ $xmlWriter->closeXMLElement('products');