SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式。

与 DOM 或 Expat 解析器相比,SimpleXML 仅仅用几行代码就可以从 XML 元素中读取文本数据。

SimpleXML 可把 XML 文档(或 XML 字符串)转换为对象,比如:

  • 元素被转换为 SimpleXMLElement 对象的单一属性。当同一级别上存在多个元素时,它们会被置于数组中。

  • 属性通过使用关联数组进行访问,其中的索引对应属性名称。

  • 元素内部的文本被转换为字符串。如果一个元素拥有多个文本节点,则按照它们被找到的顺序进行排列。

当执行类似下列的基础任务时,SimpleXML 使用起来非常快捷:

  • 读取/提取 XML 文件/字符串的数据

  • 编辑文本节点或属性

然而,在处理高级 XML 时,比如命名空间,最好使用 Expat 解析器或 XML DOM。

XML文件:

<?xml version="1.0" encoding="utf-8"?>
<note>
    <to>老爸</to>
    <from>儿子</from>
    <heading>问候</heading>
    <body>最近身体好吗,天气变冷,记得多穿衣服</body>
</note>

PHP文件:

1---

<?php
$xml = simplexml_load_file("note.xml");
print_r($xml);

输出:

SimpleXMLElement Object ( [to] => 老爸 [from] => 儿子 [heading] => 问候 [body] => 最近身体好吗,天气变冷,记得多穿衣服 )

2---

<?php
$xml=simplexml_load_file("note.xml");
echo $xml->to . "<br>";
echo $xml->from . "<br>";
echo $xml->heading . "<br>";
echo $xml->body;
?>

输出:

老爸
儿子
问候
最近身体好吗,天气变冷,记得多穿衣服

3---

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

输出:

note
to:老爸
from:儿子
heading:问候
body:最近身体好吗,天气变冷,记得多穿衣服

解析原理:

    1.加载xml文件,解析器会将xml文件转换成SimpleXMLElement Object。

2.获取对象中的每一个子元素,得到内容。

SimpleXML解析xml文件的更多相关文章

  1. 使用SimpleXML解析xml文件数据

    最近工作要求从一个XML文档中批量读取APK应用数据,自然想到用SimpleXML.经过一段时间摸索,终于成功解析,现在将思路以及代码做下记录: xml文件格式大致如下: <?xml versi ...

  2. PHP使用SimpleElement创建和解析xml文件

    <!-- 使用SimpleXMLElement生成xml文件 --><?php//生成一个xml文件 //xml字符串$_xml = <<<_xml<?xml ...

  3. Android 解析XML文件和生成XML文件

    解析XML文件 public static void initXML(Context context) { //can't create in /data/media/0 because permis ...

  4. JAVA使用SAX解析XML文件

    在我的另一篇文章(http://www.cnblogs.com/anivia/p/5849712.html)中,通过一个例子介绍了使用DOM来解析XML文件,那么本篇文章通过相同的XML文件介绍如何使 ...

  5. JAVA中使用DOM解析XML文件

    XML是一种方便快捷高效的数据保存传输的格式,在JSON广泛使用之前,XML是服务器和客户端之间数据传输的主要方式.因此,需要使用各种方式,解析服务器传送过来的信息,以供使用者查看. JAVA作为一种 ...

  6. java中采用dom4j解析xml文件

    一.前言 在最近的开发中用到了dom4j来解析xml文件,以前听说过来解析xml文件的几种标准方式:但是从来的没有应用过来,所以可以在google中搜索dmo4j解析xml文件的方式,学习一下dom4 ...

  7. XML:使用DOM技术解析xML文件中的城市,实现select级联选择

    中国的城市xml格式:cities.xml <?xml version="1.0" encoding="utf-8"?> <china> ...

  8. dom4j如何解析XML文件

    最近在 一些对xml文件的操作,下面简单写一个dom4j解析xml文件并将其封装到一个javabean中的例子,只是具有针对性的,不是通用的,仅供参考哦~~ 首先说:dom4j是一个java的XML ...

  9. java解析XML文件

    dom4j是一个Java的XML API,类似于jdom,用来读写XML文件的.dom4j是一个非常非常优秀的Java XML API,具有性能优异.功能强大和极端易用使用的特点,同时它也是一个开放源 ...

随机推荐

  1. 谁才是最快的消息队列:ActiveMQ, RabbitMQ[转]

    Lately I performed a message queue benchmark, comparing several queuing frameworks (RabbitMQ, Active ...

  2. Java多线程---------同步与死锁:synchronized;等待与唤醒:wait、notify、notifyAll;生命周期

    1.问题的引出 class MyThread implements Runnable{ private int ticket = 5 ; // 假设一共有5张票 public void run(){ ...

  3. ListBox基础

    关键点   在列表框生成后需要向其中加入或是删除行,可以利用: int AddString( LPCTSTR lpszItem )添加行, int DeleteString( UINT nIndex ...

  4. G++ 教程(转)

    简介      gcc and g++分别是GNU的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步  1.预处理,生成.i的文件[预处理器cpp]  2.将预处理后的文 ...

  5. 简洁 Abstract Factory模式(3.1)

    镇楼 在某些书中使用了二维图说明抽象工厂模式.非常好,可是yqj2065不喜欢他们的产品族/产品等级,改成品牌/产品类型. 抽象工厂模式(abstract factory pattern)较工厂方法模 ...

  6. angularjs填写表单

    https://scotch.io/tutorials/handling-checkboxes-and-radio-buttons-in-angular-forms <!DOCTYPE html ...

  7. 集合练习——List部分

    利用ArrayList 1.存储多个员工信息,包括工号,姓名,年龄,入职时间,逐条打印所有员工姓名,并输出员工个数. package CollectionPart; import java.util. ...

  8. [Form Builder]NAME_IN()与COPY()

    NAME_IN和COPY实际是间接引用,类似指针传递,而不是值传递... IF :VAR1 IS NULL ...  direct referenceIF NAME_IN ( :VAR1 ) IS N ...

  9. Java并发——Fork/Join框架

    为了防止无良网站的爬虫抓取文章,特此标识,转载请注明文章出处.LaplaceDemon/ShiJiaqi. http://www.cnblogs.com/shijiaqi1066/p/4631466. ...

  10. oledb方式读取excel文件

    进入博客园后台发现12年11月份写的草稿没发,时隔1年,把它拉出来晒晒太阳. 前言 第一次做Excel文件导入,采用了oledb,不足之处,还请各位大牛指出,谨以此文对导入Excel做个总结. 一般步 ...