Разбор XML. ': namespace error: Namespace prefix ss '. Что за ошибка?

Xml file:
<?xml version="1.0" encoding="UTF-8"?>
<root>
    <Row>
<Cell ss:Index="1">
<Data ss:Type="String">Продукт1</Data>
</Cell>
</Row>

Открываю
$filename = dirname(__FILE__)."/newXMLDocument.xml";
if (file_exists($filename)) {
    $xml = simplexml_load_file($filename);
    print_r($xml);
} else {
    exit('Failed to open file');
}

Получаю warnings:
": namespace error : Namespace prefix ss for Index on Cell is not defined",
Warning: simplexml_load_file(): ^,
Namespace prefix ss for Type on Data is not defined
,
simplexml_load_file(): &lt;Data ss:Type=&quot;String&quot;&gt;Продукт1&lt;/Data&gt;

Тем не менее выводит:
SimpleXMLElement Object ( [Row] => Array ( [0] => SimpleXMLElement Object ( [Cell] => SimpleXMLElement Object ( [@attributes] => Array ( [Index] => 1 ) [Data] => Продукт1 ) ) [1] => SimpleXMLElement Object ( [Cell] => SimpleXMLElement Object ( [@attributes] => Array ( [Index] => 2 ) [Data] => Продукт2 ) ) [2] => SimpleXMLElement Object ( [Cell] => SimpleXMLElement Object ( [@attributes] => Array ( [Index] => 3 ) [Data] => Продукт3) )


Как убрать ошибки? Где объявить ss?
  • Вопрос задан
  • 5454 просмотра
Пригласить эксперта
Ответы на вопрос 1
shaks
@shaks
Два варианта решения "проблемы".
1. Убрать namespace, раз Вы не знаете что это, значит он Вам не нужен.
2. Описать namespace в корневом теге хмл. или вроде как даже в самом теге его можно описывать, в котором он применяется.

Подробнее про второй пункт
<root xmlns:ss = 'popka'>
<Row>
<Cell ss:Index="1">
<Data ss:Type="String">Продукт1</Data>
</Cell>
</Row>
</root>
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы