PHP
XML

simplexml_load_string

simplexml_load_string

(PHP 5, PHP 7)

simplexml_load_string - 将一串XML解释为一个对象

描述

SimpleXMLElement simplexml_load_string ( string $data [, string $class_name = "SimpleXMLElement" [, int $options = 0 [, string $ns = "" [, bool $is_prefix = false ]]]] )

采用格式良好的XML字符串并将其作为对象返回。

参数

data

一个格式良好的XML字符串

class_name

您可以使用此可选参数,以便simplexml_load_string()将返回指定类的对象。该类应该扩展SimpleXMLElement类。

options

由于PHP 5.1.0和Libxml 2.6.0,您也可以使用该options参数来指定其他Libxml参数。

ns

名称空间前缀或URI。

is_prefix

如果ns是前缀,则为TRUE;如果是URI,则为FALSE;默认为FALSE。

返回值

返回一个SimpleXMLElement类的对象,其属性包含xml文档中保存的数据,或者失败时返回FALSE

警告

此函数可能会返回布尔FALSE,但也可能会返回一个非布尔值,其值为FALSE。 有关更多信息,请阅读布尔部分。 使用===运算符来测试此函数的返回值。

错误/异常

E_WARNING为XML数据中的每个错误生成一条错误消息。

提示

使用libxml_use_internal_errors()来禁止所有XML错误,然后使用libxml_get_errors()来遍历它们。

例子

Example#1 解释一个XML字符串

<?php $string = <<<XML <?xml version='1.0'?>  <document>  <title>Forty What?</title>  <from>Joe</from>  <to>Jane</to>  <body>   I know that's the answer -- but what's the question?  </body> </document> XML; $xml = simplexml_load_string($string print_r($xml ?>

上面的例子将输出:

SimpleXMLElement Object ( [title] => Forty What? [from] => Joe [to] => Jane [body] => I know that's the answer -- but what's the question? )

在这一点上,你可以去使用$ xml-> body等。

扩展内容

  • simplexml_load_file() - 将XML文件解释为对象

  • SimpleXMLElement :: __ construct() - 创建一个新的SimpleXMLElement对象

  • libxml_use_internal_errors() - 禁用libxml错误并允许用户根据需要获取错误信息

← simplexml_load_file

WDDX →