zoukankan      html  css  js  c++  java
  • PHP simplexml_load_string() 函数

    实例

    转换形式良好的 XML 字符串为 SimpleXMLElement 对象,然后输出对象的键和元素:

    <?php
    $note=<<<XML
    <note>高佣联盟 www.cgewang.com
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>
    XML;

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

    定义和用法

    simplexml_load_string() 函数转换形式良好的 XML 字符串为 SimpleXMLElement 对象。


    语法

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

    参数描述
    data 必需。规定形式良好的 XML 字符串。
    classname 可选。规定新对象的 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 - 扩展空标签(例如 <br/> 到 <br></br>),仅在 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 是前缀则为 TRUE,如果 ns 是 URI 则为 FALSE。默认是 FALSE。

    技术细节

    返回值: 如果成功则返回 SimpleXMLElement 对象,如果失败则返回 FALSE。
    PHP 版本: 5+


    更多实例

    实例 1

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

    <?php
    $note=<<<XML
    <note>
    <to>Tove</to>
    <from>Jani</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;
    ?>

    实例 2

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

    <?php
    $note=<<<XML
    <note>
    <to>Tove</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't 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>";
    }
    ?>
  • 相关阅读:
    Easy-Mock模拟get接口和post接口实例
    本地部署Easy Mock
    用matplotlib和pandas绘制股票MACD指标图,并验证化交易策略
    向大家介绍我的新书:《基于股票大数据分析的Python入门实战》
    在windows环境里,用Docker搭建Redis开发环境(新书第一个章节)
    谈谈最近副业挣钱的感受,一要形成体系,二要找平台加持
    进大厂也就这回事,工作后2到3年进大厂操作指南
    最近录制视频挣钱的经过和体会
    以外派的身份进大厂,或许条程序员升级的途径
    面试中更多会考核相关技能的项目经验——再论程序员该如何准备面试
  • 原文地址:https://www.cnblogs.com/yc10086/p/13112003.html
Copyright © 2011-2022 走看看