Home » excel » xml – DOMDocument::load – PHP – Getting attribute value

xml – DOMDocument::load – PHP – Getting attribute value

Posted by: admin May 14, 2020 Leave a comment

Questions:

I am struggling to get the value of 3 from the ss:ExpandedColumnCount="3" in

<Table ss:ExpandedColumnCount="3" ss:ExpandedRowCount="2" x:FullColumns="1"
   x:FullRows="1" ss:DefaultColumnWidth="65" ss:DefaultRowHeight="15">
   <Row>
    <Cell><Data ss:Type="String">cat</Data></Cell>
    <Cell><Data ss:Type="String">dog</Data></Cell>
    <Cell><Data ss:Type="String">horse</Data></Cell>
   </Row>
   <Row>
    <Cell><Data ss:Type="String">ve</Data></Cell>
    <Cell><Data ss:Type="String">as</Data></Cell>
    <Cell><Data ss:Type="String">fs</Data></Cell>
   </Row>
 <Row>
    <Cell><Data ss:Type="String">ve</Data></Cell>
    <Cell><Data ss:Type="String">as</Data></Cell>
    <Cell><Data ss:Type="String">fs</Data></Cell>
   </Row>
  </Table>

I am using DOMDocument::load in PHP using an XLS file. Any help would be greatly appreciated.

Cheers

How to&Answers:

Load the document

libxml_use_internal_errors(TRUE);
$dom = new DOMDocument;
$dom->load('YourExcel.xml');

and then either do

echo $dom->documentElement->getAttribute('ExpandedColumnCount');

or use XPath

$xp = new DOMXPath($dom);
echo $xp->evaluate('string(/Table/@ExpandedColumnCount)');

Both will return 3.