php对xml文件的解析

近来较少写博客了,得克服懒惰的秉性啊!

今天研究了一下php对xml文件的解析。

用到了php的simplexml_load_file()方法,该方法会将xml文件生成一个SimpleXMLElement对象,该对象是继承了Traversable接口的对象,即可以像数组那样遍历其子集。

这样,我们就可以循环得到xml文件的内容,不多说废话,上例子。

假设有如下内容,名为test.xml的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<phplamp>
    <post>
        <title id="1">PHP XML处理介绍一</title>
        <details>详细内容一</details>
    </post>
    <post>
        <title id="2">PHP XML处理介绍二</title>
        <details>详细内容二</details>
    </post>
    <post>
        <title id="3">PHP XML处理介绍三</title>
        <details>详细内容三</details>
    </post>
</phplamp>

  php代码中作如下处理:

<?php
$xmlFile = simplexml_load_file("test.xml");
echo ‘<pre>‘;
print_r($xmlFile);
foreach ($xmlFile AS $key=>$val){
	foreach ($val AS $k=>$v){
		$attr = $val->$k->attributes();
		echo $k . ‘:‘ .$val->$k . ‘<br>‘;
		if ($attr) {
			foreach ($attr As $name=>$value) {
				echo  $k . ‘-‘ . $name . ‘: ‘ . $value;
				echo ‘<br>‘;
			}

		}
	}
	echo ‘<br>‘;
}

  输出如下:

title:PHP XML处理介绍一
title-id: 1
details:详细内容一

title:PHP XML处理介绍二
title-id: 2
details:详细内容二

title:PHP XML处理介绍三
title-id: 3
details:详细内容三

  当然,php处理xml的方法还可以通过生成DOMDocument对象来完成。在此不加赘述。

php对xml文件的解析,布布扣,bubuko.com

时间: 2024-10-25 06:42:05

php对xml文件的解析的相关文章

Android学习(48) -- 获取xml文件并解析.

1.根据xml的格式创建JavaBean public class News { private String title; private String detail; private String comment; private String imageUrl; @Override public String toString() { return "News [title=" + title + ", detail=" + detail + ",

Java之Pull方式生成xml文件和解析xml文件

Pull XML解析器早已经被google集成到android sdk当中,它是google官方推荐的解析器. 如果我们要在Java桌面.J2ME等当中使用Pull方式生成xml文件和解析xml文件,需要用到kxml2: KXML解析器是基于普通XML PULL解析器的一个小巧的解析器,官网是http://kxml.org/ 普通XML PULL解析器的官网是http://xmlpull.org/ 实验开始: 在Eclipse中新建一个java项目,其中新建一个libs文件夹,拷贝从网上下载的k

Android 5.0 system_fonts.xml文件的解析过程

Android 5.0 system_fonts.xml文件的解析过程 首先看看看5.0 中familyset version="22" 的格式 20 <family name="sans-serif"> 21 <font weight="100" style="normal">Roboto-Thin.ttf</font> 22 <font weight="100"

用SAX和PULL进行XML文件的解析与生成

XML解析有传统的dom方法还有Jsoup,SAX,PULL等,这里讲的是比较省内存的SAX和PULL方法.Android中极力推荐用PULL的方式来解析,我个人觉得pull确实比较简单,但其内部的逻辑性不是很分明.所以今天做了个类来将其中的多个步骤进行了分割,以后直接拿来用即可. 1.SAX: 首先先讲解SAX中各个方法的作用: 我们以这个不规则的xml语句做例子: <abc:kale sex=m age=21>jack</abc:kale> startDocument:开始解析

说说你知道的XML文件的解析方式,它们有什么区别

说说你知道的XML文件的解析方式,它们有什么区别 DOM(document object model)解析 将整个xml全部读到内存中去,形成树状结构. 优点:解析效率高,且可以对文档进行增删的操作 缺点:当xml文件很大,会导致内存溢出. SAX(Simple API for XML)解析 读取一行,解析一行,基于事件驱动 优点:不会造成内存溢出 缺点:解析效率较慢,且只能进行查阅的操作 原文地址:https://www.cnblogs.com/javaisbest/p/11588010.ht

【Android】XML文件的解析

1.首先我们可以在res包路径下创建一个raw包,然后在raw下创建一个email.xml 文件,并修改其内容如下: 1 <?xml version="1.0" encoding="utf-8"?> 2 <email> 3 <from>[email protected]</from> 4 <to>[email protected]</to> 5 <date>2016/4/5</

XML文件的解析和序列化

序列化: private void createXml() { XmlSerializer serializer = Xml.newSerializer();// xml文件生成器 File file = new File(Environment.getExternalStorageDirectory(), "person.xml"); FileOutputStream fos = null; try { fos = new FileOutputStream(file); serial

xml文件的解析过程详解

student.xml 文件展示: <?xml version="1.0" encoding="utf-8" ?> <person> <student id='1'> <name>余超</name> <sex>男</sex> <desc>一个执着而又天真的孩子</desc> </student> <student id='2'> <

xml文件以及解析

1.创建一个xml文件 <?xml version="1.0" encoding="UTF-8"?> <!-- xml:是一个可扩展的标记语言 01.很像超文本标记语言(html) 02.xml文件着重保存或者传输数据,不专注显示 03.无需预编译 04.符合w3c标准 < : < > : > " : " ' : &apos; & : & <![CDATA[代码]]>