AMitrev
Well-Known Member
Как така на намери. xml2array сигурно е най "популярната функция" на php
ss: е namespace и сигурно затова си виждал доста екрани с грешка/предупреждения, така че или ги обработвай или ги игнорирай.
Това прави асоциативен масив с данните, но ти лесно може да си го модифицираш за да получиш това което искаш (по ключовете може да си направиш дърво ).
Код:
<?php
$xmlstring = '<Worksheet ss:Name=".Артикули">
<Table ss:ExpandedColumnCount="6" ss:ExpandedRowCount="7" x:FullColumns="1"
x:FullRows="1" ss:DefaultRowHeight="15">
<Column ss:Width="147"/>
<Column ss:Index="3" ss:Width="170.25"/>
<Column ss:Width="83.25"/>
<Column ss:Index="6" ss:Width="78"/>
<Row>
<Cell><Data ss:Type="String">Наименование БГ</Data></Cell>
<Cell><Data ss:Type="String">Артикулен номер</Data></Cell>
<Cell><Data ss:Type="String">Код</Data></Cell>
<Cell><Data ss:Type="String">Цена (без ДДС)</Data></Cell>
<Cell><Data ss:Type="String">Статус</Data></Cell>
<Cell><Data ss:Type="String">Категория 1</Data></Cell>
</Row>
<Row>
<Cell><Data ss:Type="String">RPT-800DU 800VA/AVR/USB</Data></Cell>
<Cell><Data ss:Type="String">00043</Data></Cell>
<Cell><Data ss:Type="String">RPT-800DU 800VA/AVR/USB</Data></Cell>
<Cell><Data ss:Type="Number">52.8</Data></Cell>
<Cell><Data ss:Type="String">.Aктивен</Data></Cell>
<Cell><Data ss:Type="String">Дамски обувки</Data></Cell>
</Row>
</Table>
</Worksheet>';
function XML2Array(SimpleXMLElement $string)
{
$array = array();
foreach ($string as $name => $element) {
($node = & $array[$name])
&& (1 === count($node) ? $node = array($node) : 1)
&& $node = & $node[];
$node = $element->count() ? XML2Array($element) : trim($element);
}
return $array;
}
$xml = @simplexml_load_string($xmlstring);
$array = @XML2Array($xml);
$array = array($xml->getName() => $array);
echo '<pre>';
print_r( $array );
ss: е namespace и сигурно затова си виждал доста екрани с грешка/предупреждения, така че или ги обработвай или ги игнорирай.
Това прави асоциативен масив с данните, но ти лесно може да си го модифицираш за да получиш това което искаш (по ключовете може да си направиш дърво ).