当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。默认为FALSE
  • $is_prefix:如果ns是前缀,则为TRUE。如果ns是URI,则为FALSE。默认为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:

<?php 
$note=<<<XML 
<note> 
  <to>User 1</to> 
  <from>User 2</from> 
  <heading>Reminder</heading> 
  <body>Don't forget me this weekend!</body> 
</note> 
XML; 
  
$xml = simplexml_load_string($note); 
echo $xml->to . "<br>"; 
echo $xml->from . "<br>"; 
echo $xml->heading . "<br>"; 
echo $xml->body; 
?>

输出:

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

程序2:

<?php 
$note=<<<XML 
<?xml version="1.0" encoding="ISO-8859-1"?> 
<book> 
    <name>PHP</name> 
    <name>Java</name> 
    <name>C++</name> 
    <name>Python</name> 
</book> 
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/function.simplexml-load-string.php



相关用法


注:本文由纯净天空筛选整理自Saptarshi_Das大神的英文原创作品 PHP | simplexml_load_string() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。