php对xml文件的解析

摘要:
最近,我写的博客少了。我必须克服我的懒惰!今天,我研究了php对xml文件的解析。使用php的simplexml_load_File()方法,该方法将从xml文件生成SimpleXMLElement对象。此对象是继承可遍历接口的对象,也就是说,它可以像数组一样遍历其子集。通过这种方式,我们可以在一个循环中获得xml文件的内容,而无需像前面的示例中那样多废话。˃˃Phplain˃PHPXML处理简介Idetails IPHPXML处理简介II详情IIPHPML处理简介III?

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

今天研究了一下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文件的解析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇39条常见的linux系统管理面试题WPF 设置程序开机自动运行(+注册表项)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 项目中文件夹的说明与作用(转)

(转自:http://blog.csdn.net/goodshot/article/details/11529731)   Android 项目中文件夹的作用 1. src:存放所有的*.java源程序。 2. gen:为ADT插件自动生成的代码文件保存路径,里面的R.java将保存所有的资源ID。 3. assets:可以存放项目一些较大的资源文件,例...

Android内核开发:理解和掌握repo工具【转】

本文转载自:http://ticktick.blog.51cto.com/823160/1653304 由于Android源码是用repo工具来管理的,因此,搞Android内核开发,首先要搞清楚repo是什么东西,它该怎么使用?作为《Android内核开发》系列文章的第二篇,我们首先谈谈对repo工具的理解和使用。 1. repo是什么? repo是一种...

.net学习笔记---xml序列化

 XML序列化是将对象的公共属性和字段转换为XML格式,以便存储或传输的过程。反序列化则是从XML输出中重新创建原始状态的对象。XML序列化中最主要的类是XmlSerializer类。它的最重要的方法是Serialize和Deserialize方法,它位于System.Xml.Serialization命名空间。 一、XML序列化基本要点   在本节开始之...

使用DTD验证XML文档

这本来应该不是一个困难的事情。但是,比较“无奈”的地方在于,必须在待验证的XML文档内部声明一个“DOCTYPE”引用DTD文件才可以验证。所以,更麻烦的问题在于需要为没有声明这个DOCTYPE的XML文档添加上这个声明。我还没有找到更好的办法。说明一下Context,需要执行此操作的是一个ASP.NET WebForm,XML文档来自于客户端上传的文件,...

SQL Server存储过程模拟HTTP请求POST和GET协议

/****** Object: StoredProcedure [dbo].[sp_http_get] Script Date: 05/23/2020 15:47:09 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[sp_htt...

php实现SESSION跨域

稍微大一点的网站,通常都会有不只一个服务器,每个服务器运行着不同的功能模块或者不同的子系统,他们使用不同的二级域名,比如www.a.com、i.a.com、bbs.a.com。而一个整体性强的网站,用户系统是统一的,即一套用户名、密码在整个网站的各个子系统中都是可以登录使用的。各个服务器共享用户数据是比较容易实现的,只需要在后端放个数据库服务器,各个服务器...