Php/func simplexml load string

来自菜鸟教程
跳转至:导航、​搜索

PHP simplexml_load_string()函数

Simple PHP SimpleXML参考

将XML字符串转换为对象,然后输出对象的键和元素:

 <?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>

 <body>Do not forget me this weekend!</body>
</note>
XML;


 $xml=simplexml_load_string($note);
print_r($xml);
?>

定义和用法

simplexml_load_string()函数将格式正确的XML字符串转换为对象。

句法

simplexml_load_string(data, class, options, ns, is_prefix)

参数值

参数 描述
data 需要。指定格式正确的XML字符串
class 可选的。指定新对象的类
options

可选的。指定其他Libxml参数。通过指定选项和1或0(TRUE或FALSE,例如LIBXML_NOBLANKS(1)) 可能的值:

  • LIBXML_COMPACT-激活节点分配优化(可以加速应用程序)
  • LIBXML_DTDATTR-设置默认的DTD属性
  • LIBXML_DTDLOAD-加载外部子集
  • LIBXML_DTDVALID-使用DTD进行验证
  • LIBXML_NOBLANKS-删除空白节点
  • LIBXML_NOCDATA-将CDATA合并为文本节点
  • LIBXML_NOEMPTYTAG-展开空标签(例如


    ),仅在DOMDocument-> save()和DOMDocument-> saveXML()函数中可用
  • 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版本(例如20605或20617)
  • LIBXML_DOTTED_VERSION-获取点分的libxml版本(例如2.6.5或2.6.17)
ns 可选的。指定名称空间前缀或URI
is_prefix 可选的。指定一个布尔值。如果为真

ns 是一个前缀。假若 ns 是URI。默认为FALSE

技术细节

返回值: 成功的SimpleXMLElement对象。失败时为假
PHP版本: 5+

更多例子

输出XML字符串中每个元素的数据:

 <?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>

 <body>Do not 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;

 ?>

在XML字符串中输出每个子节点的元素名称和数据:

 <?php
$note=<<<XML
<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>

 <body>Do not forget me this weekend!</body>
</note>
XML;


 $xml=simplexml_load_string($note);
echo $xml->getName() . "<br>";


 foreach($xml->children() as $child)
  {
  echo $child->getName() . ": " . $child . "<br>";
  }
?>

Simple PHP SimpleXML参考