1. ホーム
  2. php

SimpleXML を使って XML オブジェクトをゼロから作成する

2023-09-12 13:14:44

質問

PHP の SimpleXML 関数を使用して、ゼロから XML オブジェクトを作成することは可能ですか? 関数のリストを見てみると、既存の XML 文字列をオブジェクトにインポートして操作する方法はありますが、 XML オブジェクトを一からプログラムで生成したい場合、どのような方法があるのでしょうか?

simplexml_load_string() を使用して、必要なルート文字列を渡すことができることを発見し、それから、子を追加することによって操作できるオブジェクトを得ます。

私はこれを DOMDocument 関数 を使って行いました。DOM が純粋な XML ドキュメントを作成することとどのような関係があるのかよくわからないので、少し混乱していますが...たぶん名前が悪いだけでしょう :-)。

どのように解決するのですか?

もちろん、できます。 例えば

<?php
$newsXML = new SimpleXMLElement("<news></news>");
$newsXML->addAttribute('newsPagePrefix', 'value goes here');
$newsIntro = $newsXML->addChild('content');
$newsIntro->addAttribute('type', 'latest');
Header('Content-type: text/xml');
echo $newsXML->asXML();
?>

出力

<?xml version="1.0"?>
<news newsPagePrefix="value goes here">
    <content type="latest"/>
</news>

楽しんでください。