Я использую xml_writer для создания XML-файлов в моем проекте CI. я получаю коды от
а также
https://github.com/accent-interactive/xml_writer/blob/master/application/controllers/xml.php
я уже создал XML-файлы с данным кодом успешно. в коде Rootname задается
$xml->setRootName('Submission');
здесь я столкнулся с проблемой, в которой я хочу добавить некоторые атрибуты в Rootname, как
$xml->setAttribute( my_store,array('xmlns:tns' => 'http://somelink..........'));
итоговый xml файл выглядит так (пример)
<Submission xmlns:tns="http://somelink.....">
<Header>
<uid>66166</uid>
</Header>
</Submission>
я уже пробовал
$xml->setRootName('Submission',array('xmlns:tns' => 'http://somelink..........'));
но без положительных результатов. ? Как я могу достичь этого? Любая помощь по этой проблеме будет принята с благодарностью.
Библиотека, которую вы используете для создания XML, не позволяет вам указывать атрибуты элемента документа.
Поэтому вы используете не тот инструмент для работы.
Вы, вероятно, хотите просто использовать XMLWriter непосредственно:
// initialize the writer
$writer = new XMLWriter();
$writer->openMemory();
$writer->setIndent(true);
$writer->setIndentString(' ');
$writer->startDocument();
// create the document
$writer->startElement('Submission');
$writer->writeAttribute('xmlns:tns', 'http://somelink..........');
$writer->startElement('Header');
$writer->startElement('uid');
$writer->writeRaw('66166');
$writer->endElement();
// finalize the document and output
$writer->endDocument();
echo $writer->flush();
Выход:
<?xml version="1.0"?>
<Submission xmlns:tns="http://somelink..........">
<Header>
<uid>66166</uid>
</Header>
</Submission>
Как вы видете XMLWriter сам по себе уже довольно прост.
Других решений пока нет …