PHPを使用してxmlファイルを作成しています。結果の XML は .
<xml>
<data>
<firstname>Peter</firstname>
<insertion>V</insertion>
<lastname>John</lastname>
<gender>Male</gender>
</data>
</xml>
ただし、値が null の場合、結果の xml は次のようになります (ノードの挿入を見てください)。
<xml>
<data>
<firstname>Peter</firstname>
<insertion/>
<lastname>John</lastname>
<gender>Male</gender>
</data>
</xml>
値がnullの場合、結果が得られるようにxmlを作成したいと思います。
<xml>
<data>
<firstname>Peter</firstname>
<insertion></insertion>
<lastname>John</lastname>
<gender>Male</gender>
</data>
</xml>
これは私のコードです。
$doc = new DOMDocument('1.0');
$doc->formatOutput = true;
$root = $doc->createElement('data');
$doc->appendChild($root);
$data = $doc->createElement('data');
$fname = $doc->createElement('firstname');
$fname->appendChild(
$doc->createTextNode($row['firstname']));
$data->appendChild($fname);
$ins = $doc->createElement('insertion');
$ins->appendChild(
$doc->createTextNode($row['insertion']));
$data->appendChild($ins);
$lname = $doc->createElement('lastname');
$lname->appendChild(
$doc->createTextNode($row['lastname']));
$data->appendChild($lname);
$gender = $doc->createElement('gender');
$gender->appendChild(
$doc->createTextNode($row['gender']));
$data->appendChild($gender);
$root->appendChild($data);
$doc->save($path . "test.xml");
このxmlを作成後、レスポンスとして送信しています。したがって、クライアント側では、lastnameノードが挿入のサブノードになっ ています。
<insertion/>