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 & content </column_name></row>
// without any warning
Теперь, как использовать этот метод для добавления динамического дочернего узла с экранированием и экранированием?
1 ответ
Решение
В основном, чтобы это работало для вас, нужно было бы сделать что-то вроде этого:
$rowXML->{$column} = $column_value;