Создать XML-файл из MySQL

Нашел этот скрипт, который почти делает то, что я хочу; Но не все так.

$dom = new DOMDocument;
$dom->preserveWhiteSpace = FALSE;

$table = $dom->appendChild($dom->createElement('incidents'));

foreach($result as $row) {
$data = $dom->createElement('incident');
$table->appendChild($data);

foreach($row as $name => $value) {

$col = $dom->createElement('column', $value);
$data->appendChild($col);
$colattribute = $dom->createAttribute('name');

$colattribute->value = $name;
$col->appendChild($colattribute);

Теперь он дает результат XML с:

<column name="id"> and </column>

Я хотел бы, чтобы это было

<id> and </id>

Что я должен изменить? Я перепробовал все возможные варианты.

Это только средняя часть. В остальном вроде нормально работает.

Заранее спасибо!

0

Решение

функция createElement делает именно это — создает новый элемент.
Первым параметром будет имя вашего элемента (в вашем случае — колонка):

$col = $dom->createElement('column', $value);

Если вы хотите иметь элемент с именем id Вы должны использовать id как имя элемента:

$col = $dom->createElement('id', $value);

Обновление — лучшее объяснение:

Функция createElement получает 2 параметра. Первый параметр — это имя тега, второй параметр — это содержимое тега.
Это означает, что если вы делаете:

$col = $dom->createElement('ThisIsMySpecialTagName', 'ValueValueValue');

Ты получишь

<ThisIsMySpecialTagName>ValueValueValue</ThisIsMySpecialTagName>

Вы можете положить в первый параметр независимо от того, что вы хотите имя тега (вещь, которая находится между < а также >) и второй Параметр — это содержимое тега (что находится между открывающим и закрывающим тегом).

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]