Note that there are some explanatory texts on larger screens.

plurals
  1. POXML to CSV with PHP - Fix Format
    text
    copied!<p>I'm currently using the following code to convert my XML file to a CSV file...</p> <pre><code>&lt;?php $filexml='test.xml'; if (file_exists($filexml)) { $xml = simplexml_load_file($filexml); $f = fopen('test.csv', 'w'); print_r($xml); createCsv($xml, $f); fclose($f); } function createCsv($xml,$f) { foreach ($xml-&gt;children() as $item) { $hasChild = (count($item-&gt;children()) &gt; 0)?true:false; if( ! $hasChild) { $put_arr = array($item); fputcsv($f, $put_arr ,',','"'); } else { createCsv($item, $f); } } } ?&gt; </code></pre> <p>I'm only having two issues right now. First of which, I'm trying to include only the data for as opposed to and the other fields. The sample of my XML data is below...</p> <pre><code>&lt;PIES xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="www.aftermarket.org/eCommerce/Pies"&gt; &lt;TestFile&gt;false&lt;/TestFile&gt; &lt;Header&gt; &lt;PIESVersion&gt;6.1&lt;/PIESVersion&gt; &lt;BrandOwnerDUNS&gt;000567647&lt;/BrandOwnerDUNS&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;LanguageCode&gt;EN&lt;/LanguageCode&gt; &lt;TechnicalContact&gt;Mark Toebben&lt;/TechnicalContact&gt; &lt;ContactEmail&gt;mark@dcinet.com&lt;/ContactEmail&gt; &lt;/Header&gt; &lt;Items&gt; &lt;Item MaintenanceType="C"&gt; &lt;HazardousMaterialCode&gt;N&lt;/HazardousMaterialCode&gt; &lt;ItemLevelGTIN GTINQualifier="UP"&gt;090127000380&lt;/ItemLevelGTIN&gt; &lt;PartNumber&gt;0-1848-1&lt;/PartNumber&gt; &lt;BrandAAIAID&gt;BBVL&lt;/BrandAAIAID&gt; &lt;BrandLabel&gt;Holley&lt;/BrandLabel&gt; &lt;PartTerminologyID&gt;5904&lt;/PartTerminologyID&gt; &lt;Descriptions&gt; &lt;Description MaintenanceType="C" DescriptionCode="DES" LanguageCode="EN"&gt;Street Carburetor&lt;/Description&gt; &lt;Description MaintenanceType="C" DescriptionCode="SHO" LanguageCode="EN"&gt;Crb&lt;/Description&gt; &lt;/Descriptions&gt; &lt;Prices&gt; &lt;Pricing MaintenanceType="C" PriceType="JBR"&gt; &lt;PriceSheetNumber&gt;L30779-13&lt;/PriceSheetNumber&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;EffectiveDate&gt;2013-01-01&lt;/EffectiveDate&gt; &lt;Price UOM="PE"&gt;462.4600&lt;/Price&gt; &lt;/Pricing&gt; &lt;Pricing MaintenanceType="C" PriceType="RET"&gt; &lt;PriceSheetNumber&gt;L30779-13&lt;/PriceSheetNumber&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;EffectiveDate&gt;2013-01-01&lt;/EffectiveDate&gt; &lt;Price UOM="PE"&gt;380.5500&lt;/Price&gt; &lt;/Pricing&gt; &lt;Pricing MaintenanceType="C" PriceType="WD1"&gt; &lt;PriceSheetNumber&gt;L30779-13&lt;/PriceSheetNumber&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;EffectiveDate&gt;2013-01-01&lt;/EffectiveDate&gt; &lt;Price UOM="PE"&gt;314.4700&lt;/Price&gt; &lt;/Pricing&gt; &lt;/Prices&gt; &lt;ExtendedInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="CTO" LanguageCode="EN"&gt;US&lt;/ExtendedProductInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="NPC" LanguageCode="EN"&gt;A&lt;/ExtendedProductInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="HTS" LanguageCode="EN"&gt;8409914000&lt;/ExtendedProductInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="NAF" LanguageCode="EN"&gt;B&lt;/ExtendedProductInformation&gt; &lt;/ExtendedInformation&gt; &lt;ProductAttributes&gt; &lt;ProductAttribute MaintenanceType="C" AttributeID="SKU" LanguageCode="EN"&gt;BBVL0-1848-1&lt;/ProductAttribute&gt; &lt;ProductAttribute MaintenanceType="C" AttributeID="ModDate" LanguageCode="EN"&gt;2012-12-31&lt;/ProductAttribute&gt; &lt;/ProductAttributes&gt; &lt;Packages&gt; &lt;Package MaintenanceType="C"&gt; &lt;PackageLevelGTIN&gt;00090127000380&lt;/PackageLevelGTIN&gt; &lt;PackageUOM&gt;EA&lt;/PackageUOM&gt; &lt;QuantityofEaches&gt;1&lt;/QuantityofEaches&gt; &lt;Dimensions UOM="IN"&gt; &lt;Height&gt;7.5000&lt;/Height&gt; &lt;Width&gt;11.0000&lt;/Width&gt; &lt;Length&gt;12.2500&lt;/Length&gt; &lt;/Dimensions&gt; &lt;Weights UOM="PG"&gt; &lt;Weight&gt;13.500&lt;/Weight&gt; &lt;DimensionalWeight&gt;6.09&lt;/DimensionalWeight&gt; &lt;/Weights&gt; &lt;/Package&gt; &lt;/Packages&gt; &lt;/Item&gt; &lt;Item MaintenanceType="C"&gt; &lt;HazardousMaterialCode&gt;N&lt;/HazardousMaterialCode&gt; &lt;ItemLevelGTIN GTINQualifier="UP"&gt;090127539248&lt;/ItemLevelGTIN&gt; &lt;PartNumber&gt;0-1850C&lt;/PartNumber&gt; &lt;BrandAAIAID&gt;BBVL&lt;/BrandAAIAID&gt; &lt;BrandLabel&gt;Holley&lt;/BrandLabel&gt; &lt;PartTerminologyID&gt;5904&lt;/PartTerminologyID&gt; &lt;Descriptions&gt; &lt;Description MaintenanceType="C" DescriptionCode="DES" LanguageCode="EN"&gt;Street/Strip Carburetor&lt;/Description&gt; &lt;Description MaintenanceType="C" DescriptionCode="SHO" LanguageCode="EN"&gt;Crb&lt;/Description&gt; &lt;/Descriptions&gt; &lt;Prices&gt; &lt;Pricing MaintenanceType="C" PriceType="JBR"&gt; &lt;PriceSheetNumber&gt;L30779-13&lt;/PriceSheetNumber&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;EffectiveDate&gt;2013-01-01&lt;/EffectiveDate&gt; &lt;Price UOM="PE"&gt;399.6600&lt;/Price&gt; &lt;/Pricing&gt; &lt;Pricing MaintenanceType="C" PriceType="RET"&gt; &lt;PriceSheetNumber&gt;L30779-13&lt;/PriceSheetNumber&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;EffectiveDate&gt;2013-01-01&lt;/EffectiveDate&gt; &lt;Price UOM="PE"&gt;281.5500&lt;/Price&gt; &lt;/Pricing&gt; &lt;Pricing MaintenanceType="C" PriceType="WD1"&gt; &lt;PriceSheetNumber&gt;L30779-13&lt;/PriceSheetNumber&gt; &lt;CurrencyCode&gt;USD&lt;/CurrencyCode&gt; &lt;EffectiveDate&gt;2013-01-01&lt;/EffectiveDate&gt; &lt;Price UOM="PE"&gt;271.7700&lt;/Price&gt; &lt;/Pricing&gt; &lt;/Prices&gt; &lt;ExtendedInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="CTO" LanguageCode="EN"&gt;US&lt;/ExtendedProductInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="NPC" LanguageCode="EN"&gt;A&lt;/ExtendedProductInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="HTS" LanguageCode="EN"&gt;8409914000&lt;/ExtendedProductInformation&gt; &lt;ExtendedProductInformation MaintenanceType="C" EXPICode="NAF" LanguageCode="EN"&gt;B&lt;/ExtendedProductInformation&gt; &lt;/ExtendedInformation&gt; &lt;ProductAttributes&gt; &lt;ProductAttribute MaintenanceType="C" AttributeID="SKU" LanguageCode="EN"&gt;BBVL0-1850C&lt;/ProductAttribute&gt; &lt;ProductAttribute MaintenanceType="C" AttributeID="ModDate" LanguageCode="EN"&gt;2012-12-31&lt;/ProductAttribute&gt; &lt;/ProductAttributes&gt; &lt;Packages&gt; &lt;Package MaintenanceType="C"&gt; &lt;PackageLevelGTIN&gt;00090127539248&lt;/PackageLevelGTIN&gt; &lt;PackageUOM&gt;EA&lt;/PackageUOM&gt; &lt;QuantityofEaches&gt;1&lt;/QuantityofEaches&gt; &lt;Dimensions UOM="IN"&gt; &lt;Height&gt;7.5000&lt;/Height&gt; &lt;Width&gt;11.0000&lt;/Width&gt; &lt;Length&gt;12.2500&lt;/Length&gt; &lt;/Dimensions&gt; &lt;Weights UOM="PG"&gt; &lt;Weight&gt;13.750&lt;/Weight&gt; &lt;DimensionalWeight&gt;6.09&lt;/DimensionalWeight&gt; &lt;/Weights&gt; &lt;/Package&gt; &lt;/Packages&gt; &lt;/Item&gt; &lt;/Items&gt; &lt;/PIES&gt; </code></pre> <p>The other issue is within the CSV file, the data is not comma separated but rather on a new line as seen below. I'd like it to be separated by a comma but don't know how to fix this. May someone point me in the right direction?</p> <pre><code>N 090127000380 0-1848-1 BBVL Holley 5904 "Street Carburetor" Crb L30779-13 USD 2013-01-01 462.4600 L30779-13 USD 2013-01-01 380.5500 L30779-13 USD 2013-01-01 314.4700 US A 8409914000 B BBVL0-1848-1 2012-12-31 00090127000380 EA 1 7.5000 11.0000 12.2500 13.500 6.09 </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload