[решено] Создание атрибута на PHP (DOM)

Ответить
Аватара пользователя
dmit.medv

[решено] Создание атрибута на PHP (DOM)

Сообщение dmit.medv »

Здравствуйте!

Подскажите пожалуйста, можно ли создать атрибут элемента одной строкой.

Сейчас я создаю так:





Код:

Код: Выделить всё

$xml=new DomDocument('1.0','utf-8');	// Создание XML-документа
$TK = $xml->appendChild($xml->createElement('TK'));		// Создание корня
// добавление атрибута элементу
$tk_attr1 = $xml->createAttribute('name');  // строка 1
$tk_attr1->value = 'Мега'; // строка 2
$TK->appendChild($tk_attr1); // строка 3

можно ли как нибудь добавить атрибут одной строкой?

приблизительно так: $TK->appendChild("тут создание атрибута"); // в итоге - одна строка



Предложите свои способы. Спасибо.
Аватара пользователя
Habetdin

Re: [решено] Создание атрибута на PHP (DOM)

Сообщение Habetdin »

Можно создать функцию, которая будет делать то же, что и те 3 строки (в примере - appendAttribute):

Код: Выделить всё

<?php
$xml=new DomDocument('1.0','utf-8');	// Создание XML-документа
$TK = $xml->appendChild($xml->createElement('TK'));		// Создание корня
function appendAttribute($doc, $element, $attrName, $attrVal)
{
	$attr = $doc->createAttribute($attrName);
	$attr->value = $attrVal;
	$element->appendChild($attr);
}
appendAttribute($xml, $TK, 'name1', 'Мега');
appendAttribute($xml, $TK, 'name2', 'Гига');
echo $xml->saveXML();
Аватара пользователя
dmit.medv

Re: [решено] Создание атрибута на PHP (DOM)

Сообщение dmit.medv »

Огромное спасибо! а еще программистом называюсь, не мог додуматься до такого простого решения )
Аватара пользователя
dmit.medv

Re: [решено] Создание атрибута на PHP (DOM)

Сообщение dmit.medv »

Способ без создания доп.функции:





Код:

Код: Выделить всё

$TK->appendChild($xml->createAttribute('name'))->appendChild($xml->createTextNode('Мега-Гига'));
Ответить

Вернуться в «Вебмастеру»