PHP 字符串到 SimpleXML

PHP String to SimpleXML

我的问题很简单,只是出于好奇。

我有一个格式为 XML <node><child attr="value">data</child><child attr="value">data</child></node>... 的字符串,我需要将其转换为简单 XML。我没有任何问题,我知道怎么做和处理,我只想知道有什么区别

$xml_data = new SimpleXMLElement($string);

$xml_data = simplexml_load_string($string);

我还想知道我是否应该将字符串保存为格式良好的 XML 文件,并使用 header <?xml version=”1.0″ encoding=”utf-8″?> 以避免任何问题。顺便说一下,我只需要将数据作为一个数组来处理,我永远不会将它保存为一个文件,所以当你回答时请记住这一点

提前感谢您的回答

您可能想看看这个线程,它解释了两种不同方法之间的区别:

PHP: Whats's the difference between the SimpleXMLElement() class and SimpleXML_load_string()?

我总是会包括 header 除非它给你带来问题以防万一

这只是两种不同的实现方式,唯一的区别是 __construct new SimpleXMLElement 需要一个额外的参数,允许您从 uri 加载文件,这与使用的行为相同simplexml_load_file() 而不是 _string

关于 header 这取决于您使用的 XML 版本,

1.0 是可选的,1.1 是必需的,看看 Does a valid XML file require an xml declaration?