XML ノードに子要素を追加する

# SimpleXMLElement::addChild

(PHP 5 >= 5.1.3, PHP 7, PHP 8)

SimpleXMLElement::addChild — XML ノードに子要素を追加する

### 説明

public function SimpleXMLElement::addChild(string `$qualifiedName`, ?string `$value` = `null`, ?string `$namespace` = `null`): ?SimpleXMLElement

ノードに子要素を追加し、子要素の SimpleXMLElement を返します。

### パラメータ

`qualifiedName`

  追加する子要素の名前。

`value`

  指定されている場合は、子要素の値。

  特殊文字 `<` と `>` は自動的にエスケープされますが、 `&` は手動でエスケープする必要があります。

`namespace`

  指定されている場合は、その子要素が所属する名前空間。

### 戻り値

`addChild` メソッドは、 XML ノードに追加した子要素を表す SimpleXMLElement オブジェクトを返します。 失敗時に `null` を返します。

### 例

> 注意:

> この例では `examples/simplexml-data.php` をインクルードしていますが、これは 基本的な使用法 の最初のサンプルにある XML 文字列を参照しています。

例1 SimpleXML 要素への属性と子要素の追加

    <?php

    include 'examples/simplexml-data.php';

    $sxe = new SimpleXMLElement($xmlstr);
    $sxe->addAttribute('type', 'documentary');

    $movie = $sxe->addChild('movie');
    $movie->addChild('title', 'PHP2: More Parser Stories');
    $movie->addChild('plot', 'This is all about the people who make it work.');

    $characters = $movie->addChild('characters');
    $character  = $characters->addChild('character');
    $character->addChild('name', 'Mr. Parser');
    $character->addChild('actor', 'John Doe');

    $rating = $movie->addChild('rating', '5');
    $rating->addAttribute('type', 'stars');

    echo $sxe->asXML();

    ?>

上の例の出力は、 たとえば以下のようになります。

    <?xml version="1.0" standalone="yes"?>
    <movies type="documentary">
     <movie>
      <title>PHP: Behind the Parser</title>
      <characters>
       <character>
        <name>Ms. Coder</name>
        <actor>Onlivia Actora</actor>
       </character>
       <character>
        <name>Mr. Coder</name>
        <actor>El Act&#xD3;r</actor>
       </character>
      </characters>
      <plot>
       So, this language. It's like, a programming language. Or is it a
       scripting language? All is revealed in this thrilling horror spoof
       of a documentary.
      </plot>
      <great-lines>
       <line>PHP solves all my web problems</line>
      </great-lines>
      <rating type="thumbs">7</rating>
      <rating type="stars">5</rating>
     </movie>
     <movie>
      <title>PHP2: More Parser Stories</title>
      <plot>This is all about the people who make it work.</plot>
      <characters>
       <character>
        <name>Mr. Parser</name>
        <actor>John Doe</actor>
       </character>
      </characters>
      <rating type="stars">5</rating>
     </movie>
    </movies>

### 参考

- SimpleXMLElement::addAttribute() - SimpleXML 要素に属性を追加する
- 基本的な SimpleXML の使用法

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open