gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-10-31 22:15:26 24 4
gpt4 key购买 nike

我正在尝试使用 PHP 文档构建 XML 文档(用于 AJAX),使用 PHP 5 的内置 SimpleXMLElement 类。我想从一张白纸开始,逐个元素地构建 XML,但我发现如果不从一些现有的 XML 代码开始,就无法构建 SimpleXMLElement。我无法将空白字符串 ("") 成功传递给 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();

有没有更简洁的方法来做到这一点?

最佳答案

正如 salathe 提到的:

The clue is in the class name, you're creating SimpleXML elements.

现在对我来说 SimpleXMLElement 是有意义的不能为空”。它必须是一个有效的 XML 元素,这需要有一个标签名称以及开始和结束标签(例如 <feature></feature><body></body> )。

这似乎意味着 SimpleXMLElement是为解析而不是构建 XML 文档而创建的。话虽如此,我发现从头开始构建文档非常容易。这个类自动做了很多好事,包括保持一切紧凑和在顶部输出 XML 版本号 ( <?xml version="1.0"?> )。

我会向任何需要使用 PHP 构建小型 XML 文档的人推荐这种方法。它胜过任何一天将标签作为字符串回显。

谢谢大家的意见!

关于php - 如何在 PHP 中创建一个空的/空白的 SimpleXMLElement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4516657/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com