PHP SimpleXMLElement: как добавить динамический дочерний элемент с помощью амперсанда и экранирования

Я использую следующий код для добавления динамического дочернего элемента в узел XML

 <?php
   $recordXML = new SimpleXMLElement("<Record></Record>");
   $rowXML = $recordXML->addChild('row');
   foreach ($array as $column => $column_value) {
                $rowXML->addChild($column,$column_value );
            }

Этот код дает "unterminated entity reference" warning! когда есть амперсанд & в любом из $column_value, Я знаю & может быть экранирован, если мы назначим дочерний контент, как показано ниже

 $rowXML->column_name = "text & content";
 // gives <row><column_name>text &amp; content </column_name></row>
 // without any warning

Теперь, как использовать этот метод для добавления динамического дочернего узла с экранированием и экранированием?

1 ответ

Решение

В основном, чтобы это работало для вас, нужно было бы сделать что-то вроде этого:

$rowXML->{$column} = $column_value;
Другие вопросы по тегам