Я пытаюсь создать следующий XML-строку с простым XML и PHP:SimpleXml Добавить атрибут со многим параметром
<stream languageCode="BG" mpegStreamID="0xBD" mpegSubstreamID="0x20"/>
<stream languageCode="EN" mpegStreamID="0xBD" mpegSubstreamID="0x21"/>
<stream languageCode="FR" mpegStreamID="0xBD" mpegSubstreamID="0x22"/>
до сих пор я сделал это в цикле:
foreach($langs as $key => $value)
{
$this->lang->addAttribute('languageCode', $var1, 'mpegStreamID', '0xBD', 'mpegSubStreamID', '0x2'.$i);
}
, но я получаю следующее сообщение об ошибке :
SimpleXMLElement::addAttribute() expects at most 3 parameters, 6 given
Таким образом, я попытался это:
foreach($langs as $key => $value)
{
$this->streamLang->addAttribute('languageCode', $var);
$this->streamLang->addAttribute('mpegStreamID', '0xBD');
$this->streamLang->addAttribute('mpegSubStreamID', '0x2'.$i);
$i++;
}
Но получить эту ошибку:
add Attribute does already exist
Ошибки довольно ясно, но я не знаю, как создать обходной путь, так сказать.
Так что проблема, ошибка довольно ясно. Хочет не более 3, вы предоставили 6. http://php.net/manual/en/simplexmlelement.addattribute.php – JustBaron
@justbaron Вопрос довольно ясен. Должен быть способ сделать xml похожим на строки выше – utdev
, первая ошибка довольно ясна. Вторая ошибка, вероятно, относится к вашему циклу foreach. В нем перечислены $ langs, $ keys и $ values, ни один из которых не используется в addAttribute, а это означает, что вы пытаетесь добавить атрибут к одному объекту SimpleXML несколько раз. – JustBaron