Vic*_*rez 19 php xml simplexml
我见过很多编码器SimpleXML_load_string()而不是SimpleXMLElement()班级.使用前者对后者有什么好处?我已经阅读了关于simplexml的PHP手册.我无法理解它是什么.
任何帮助和指导(可能通过例子)将非常感谢.提前致谢.
Kin*_*nch 19
simplexml_load_string()(顾名思义)从字符串加载xml并返回一个对象SimepleXMLElement.这与使用类的通常构造函数没有区别.
更新:
SimpleXML::__construct()有一个额外的参数(第三个)bool $data_is_url = false.如果这是true行为与simplexml_load_file()(与公共流包装器一起)相同.因此,两个simplexml_load_*()功能都涵盖相同的功能SimpleXML::__construct().
附加函数simplexml_load_*()有第二个参数string $class_name = "SimpleXMLElement"来指定要返回的对象的类.这不是功能的特定功能,因为你可以"使用"与通常的实例非常相似的东西
class MyXML extends SimpleXMLElement {}
$a = new MyXML($xml);
$b = simplexml_load_string($xml, 'MyXML');
Run Code Online (Sandbox Code Playgroud)
OOP和过程方法之间的区别在于函数返回false错误,但构造函数抛出异常.
它主要是一个方便的包装。通过自己构建基本元素,您至少需要两行代码才能完成任何事情。使用simplexml_load_string()单个表达式可能就足够了:
print simplexml_load_string($xml)->title;
Run Code Online (Sandbox Code Playgroud)
短于:
$e = new SimpleXMLElement($xml);
print $e->title;
Run Code Online (Sandbox Code Playgroud)
当然,函数签名也有细微的变化。
更新:和完全相同的长度
Run Code Online (Sandbox Code Playgroud)print(new SimpleXMLElement($xml))->title;