admin 发表于 2023-2-16 18:54:45

PHP SimpleXML

<div id="article_content" class="article_content clearfix">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/kdoc_html_views-1a98987dfd.css">
      <link rel="stylesheet" href="https://csdnimg.cn/release/blogv2/dist/mdeditor/css/editerView/ck_htmledit_views-6e43165c0a.css">
                <div id="content_views" class="htmledit_views">
                  <p>PHP SimpleXML 处理最普通的 XML 任务&#xff0c;其余的任务则交由其它扩展处理。</p>
<hr>
<h2>什么是 PHP SimpleXML&#xff1f;</h2>
<p>SimpleXML 是 PHP 5 中的新特性。</p>
<p>SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。</p>
<p>与 DOM 或 Expat 解析器相比&#xff0c;SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据。</p>
<p>SimpleXML 可把 XML 文档&#xff08;或 XML 字符串&#xff09;转换为对象&#xff0c;比如&#xff1a;</p>
<ul><li>元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时&#xff0c;它们会被置于数组中。</li><li>属性通过使用关联数组进行访问&#xff0c;其中的索引对应属性名称。</li><li>元素内部的文本被转换为字符串。如果一个元素拥有多个文本节点&#xff0c;则按照它们被找到的顺序进行排列。</li></ul>
<p>当执行类似下列的基础任务时&#xff0c;SimpleXML 使用起来非常快捷&#xff1a;</p>
<ul><li>读取/提取 XML 文件/字符串的数据</li><li>编辑文本节点或属性</li></ul>
<p>然而&#xff0c;在处理高级 XML 时&#xff0c;比如命名空间&#xff0c;最好使用 Expat 解析器或 XML DOM。</p>
<hr>
<h2>安装</h2>
<p>从 PHP 5 开始&#xff0c;SimpleXML 函数是 PHP 核心的组成部分。无需安装就可以使用这些函数。</p>
<hr>
<h2>PHP SimpleXML 实例</h2>
<p>假设我们有如下的 XML 文件&#xff0c;&#34;<ahref="https://www.runoob.com/try/demo_source/note.xml">note.xml</a>&#34;&#xff1a;</p>
<p><?xml version&#61;&#34;1.0&#34; encoding&#61;&#34;ISO-8859-1&#34;?> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note></p>
<p>现在我们想要输出上面的 XML 文件的不同信息&#xff1a;</p>
<h2>实例 1</h2>
<p>输出 $xml 变量&#xff08;是 SimpleXMLElement 对象&#xff09;的键和元素&#xff1a;</p>
<p><?php $xml&#61;simplexml_load_file(&#34;note.xml&#34;); print_r($xml); ?></p>
<p><br><ahref="https://www.runoob.com/try/showphp.php?filename&#61;demo_simplexml">运行实例 »</a></p>
<p>以上代码将输出&#xff1a;</p>
<pre>SimpleXMLElement Object ( &#61;> Tove &#61;> Jani &#61;> Reminder &#61;> Don't forget me this weekend! )</pre>
<p></p>
<h2>实例 2</h2>
<p>输出 XML 文件中每个元素的数据&#xff1a;</p>
<p><?php $xml&#61;simplexml_load_file(&#34;note.xml&#34;); echo $xml->to . &#34;<br>&#34;; echo $xml->from . &#34;<br>&#34;; echo $xml->heading . &#34;<br>&#34;; echo $xml->body; ?></p>
<p><br><ahref="https://www.runoob.com/try/showphp.php?filename&#61;demo_simplexml2">运行实例 »</a></p>
<p>以上代码将输出&#xff1a;</p>
<pre>Tove
Jani
Reminder
Don't forget me this weekend!</pre>
<p></p>
<h2>实例 3</h2>
<p>输出每个子节点的元素名称和数据&#xff1a;</p>
<p><?php $xml&#61;simplexml_load_file(&#34;note.xml&#34;); echo $xml->getName() . &#34;<br>&#34;; foreach($xml->children() as $child) { echo $child->getName() . &#34;: &#34; . $child . &#34;<br>&#34;; } ?></p>
<p><br><ahref="https://www.runoob.com/try/showphp.php?filename&#61;demo_simplexml3">运行实例 »</a></p>
<p>以上代码将输出&#xff1a;</p>
<pre>note
to: Tove
from: Jani
heading: Reminder
body: Don't forget me this weekend!</pre>
                </div>
      </div>
      <div id="treeSkill"></div>
页: [1]
查看完整版本: PHP SimpleXML