有时需要在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
相关用法
- p5.js nfc()用法及代码示例
- p5.js nfp()用法及代码示例
- d3.js d3.hcl()用法及代码示例
- p5.js nfs()用法及代码示例
- PHP cos( )用法及代码示例
- PHP sin( )用法及代码示例
- p5.js nf()用法及代码示例
- PHP tan( )用法及代码示例
- PHP pow( )用法及代码示例
- d3.js d3.map.set()用法及代码示例
- d3.js d3.set.has()用法及代码示例
- PHP Ds\Set xor()用法及代码示例
注:本文由纯净天空筛选整理自Saptarshi_Das大神的英文原创作品 PHP | simplexml_load_string() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。