code: public function addChild($name, $value = null, $namespace = null)
      {
          if (is_object($value)) {
              return parent::addChild($name, $value, $namespace);
          } elseif ($value !== null) {
              $value = str_replace('&', '&amp;', $value);
              return parent::addChild($name, $value, $namespace);
          } else {
              return parent::addChild($name, null, $namespace);
          }
      }
docs: Fixed version of addchild allows & (ampersand) in input
  @param string $name
  @param string $value
  @param string $namespace
  @return static