📜  PHP | simplexml_load_string()函数

📅  最后修改于: 2022-05-13 01:56:48.414000             🧑  作者: Mango

PHP | simplexml_load_string()函数

有时需要在PHP中解析 XML 数据。有几种方法可用于解析 XML 数据。 SimpleXML 就是其中之一。解析 XML 文档意味着浏览 XML 文档并返回相关信息。如今,一些 API 以 JSON 格式返回数据,但仍有大量网站以 XML 格式返回数据。因此,如果我们想充分利用可用的 API,就必须精通解析 XML 文档。

PHP SimpleXML 是在PHP 5.0 中引入的。 PHP中的 simplexml_load_string()函数用于将 XML字符串解释为对象。

语法

simplexml_load_string($data, $classname, $options, $ns, $is_prefix);

参数:此函数接受五个参数,如上述语法所示。所有这些参数描述如下:

  • $data :格式良好的 XML字符串。
  • $classname :新对象的类。
  • $options :通过指定选项和 1 或 0 来设置附加的 Libxml 参数。
  • $ns :如果 ns 是前缀,则为 TRUE。如果 ns 是 URI,则为 FALSE。默认为假
  • $is_prefix :如果 ns 是前缀,则为 TRUE。如果 ns 是 URI,则为 FALSE。默认为假

参数$options的可能值如下:

  • LIBXML_COMPACT :激活节点分配优化。
  • LIBXML_DTDATTR :设置默认 DTD 属性
  • LIBXML_DTDLOAD :加载外部子集
  • LIBXML_DTDVALID :使用 DTD 进行验证
  • LIBXML_NOBLANKS :删除空白节点
  • LIBXML_NOCDATA :将 CDATA 合并为文本节点
  • LIBXML_NOEMPTYTAG :展开空标签
  • LIBXML_NOENT :替代实体
  • LIBXML_NOERROR :不显示错误报告<
  • LIBXML_NONET :加载文档时禁用网络访问
  • LIBXML_NOWARNING :不显示警告报告
  • LIBXML_NOXMLDECL :保存文档时删除 XML 声明
  • LIBXML_NSCLEAN :删除多余的命名空间声明
  • LIBXML_PARSEHUGE :设置 XML_PARSE_HUGE 标志
  • LIBXML_XINCLUDE :实现 XInclude 替换
  • LIBXML_ERR_ERROR :获取可恢复的错误
  • LIBXML_ERR_FATAL :获取致命错误
  • LIBXML_ERR_NONE :没有错误
  • LIBXML_ERR_WARNING :获取简单的警告
  • LIBXML_VERSION :获取 libxml 版本
  • LIBXML_DOTTED_VERSION :获取带点的 libxml 版本

返回值此函数在成功时返回 SimpleXMLElement 对象,在失败时返回 FALSE。

下面的程序说明了 simplexml_load_string()函数:

程序 1


  User 1
  User 2
  Reminder
  Don't forget me this weekend!

XML;
  
$xml = simplexml_load_string($note);
echo $xml->to . "
"; echo $xml->from . "
"; echo $xml->heading . "
"; echo $xml->body; ?>

输出:

User 1
User 2
Reminder
Don't forget me this weekend!

方案二



    PHP
    Java
    C++
    Python

XML;
  
$xml=simplexml_load_string($note);
echo $xml->getName() . "\n";
  
foreach($xml->children() as $child){
   echo $child->getName() . ": " . $child . "\n";
}
?>

输出:

book
name : PHP
name : Java
name : C++
name : Python

参考 :
http:// PHP.net/manual/en/函数.simplexml-load-string。 PHP