如何在PHP中创建一个空/空的SimpleXMLElement?

and*_*wtc 11 php simplexml

我正在尝试使用PHP文档使用PHP 5的内置SimpleXMLElement类构建XML文档(用于AJAX).我想从一个空白的平板开始并按元素构建XML元素,但是我发现如果SimpleXMLElement不从一些现有的XML代码开始构建一个,我就没有办法.我无法成功地将空字符串("")传递给SimpleXMLElement构造函数,所以目前我正在传递最外层标记的XML,然后从那里构建.这是我的代码:

// Start with a "blank" XML document.
$xml = new SimpleXMLElement("<feature></feature>");

// Add various children and attributes to the main tag.
$xml->addAttribute("id", $id);
$xml->addChild("title", $feature['title']);
$xml->addChild("summary", $feature['summary']);
// ...

// After the document has been constructed, echo out the XML.
echo $xml->asXML();
Run Code Online (Sandbox Code Playgroud)

有更清洁的方法吗?

and*_*wtc 5

萨拉斯提到:

线索在类名中,您正在创建SimpleXML 元素.

现在我觉得a SimpleXMLElement不可能是"空的".它必须是有效的XML元素,需要具有标记名称和开始和结束标记(例如<feature></feature><body></body>).

这似乎意味着它SimpleXMLElement是为解析而不是构建XML文档而创建的.话虽这么说,我发现从头开始构建文档非常容易.该类自动执行许多好东西,包括保持一切紧凑并在顶部输出XML版本号(<?xml version="1.0"?>).

我会向需要使用PHP构建小型XML文档的任何人推荐这种方法.它可以随时将标签回显为字符串.

谢谢大家的意见!