PHP使用SimpleXML来操作XML

SimpleXML是PHP5推出的一套新的XML处理函数,虽然只提供了少量几的几个方法函数,但它功能强大,操作简单。

 

SimpleXML函数

函数描述
__construct()创建一个新的SimpleXMLElement对象
addAttribute()给SimpleXML元素添加一个属性
addChild()

给SimpleXML元素添加一个子元素

asXML()从SimpleXML元素获取XML字符串
attributes()获取SimleXML元素的属性
children()获取指定节点的子
getDocNamespaces()获取XML文档的命名空间
getName()获取SImpleXML元素的名称
getNamespaces()从XML数据获取命名空间
registerXPathNamespace()为下一次XPath查询创建命名空间语境
Simplexml_import_dom()从DOM文档获取SimpleXMLElement对象
simplexml_load_file()从XML文档获取SimpleXMLElement对象
simple_xml_load_string()

从XML字符串获取SimpleXMLElement对象

xpath()对XML数据运行Xpath查询

SimpleXML实例

实例一:

声明一个包含XML的字符串,通过simplexml对象的asXML()函数生成xml文件

<?php
	//生成一个XML文件
	
	//声明XML字符串
	$_xml = <<<_xml
<?xml version="1.0" encoding="UTF-8"?>
<students>
	<class grade="3年级">1班</class>

	<student name="Cai">
		<address>Guangdong</address>
		<score>100</score>
	</student>
	<student name="Wu">
		<address>Guangzhou</address>
		<score>98</score>
	</student>
	<student name="Orange">
		<address>China</address>
		<score>101</score>
	</student>
</students>
_xml;

    //创建一个simplexml对象,传入XML字符串
    $_sxe = new SimpleXMLElement($_xml);

    //生成XML文件
    $_sxe->asXML('test.xml');

?>

上述代码运行后将在项目文件目录下生成一个test.xml的文件,下面的代码也是在这个的基础上运行的。

临时写的XML文件可能有点奇奇怪怪的,客官们看得懂操作就行啦。[]~( ̄▽ ̄)~*

实例二:

使用simplexml_load_file()函数载入已存在的xml文件,并向浏览器输出(包含几种输出方式):

<?php
 
 	//载入xml文件
 	$_sxe=simplexml_load_file('test.xml');

    //asXML()函数内不填写任何参数
    //向浏览器输出输出载入的XML文件
 	echo $_sxe->asXML();

    //其他几种输出的方式

    //1.用数组的方式输出,看的更清晰
    //print_r($_sxe);
    
    //2.通过查看器打印所有信息
    //var_dump($_sxe);

    //3.通过反射的静态方法输出
    //Reflection::export(new ReflectionClass($_sxe));
?>

实例三:

读取XML文件中一级标签的值:

<?php


	//载入xml
	$_sxe=simplexml_load_file('test.xml');

	//读一级标签的值
	echo $_sxe->class;
?>

读取XML文件中二级标签的值:

<?php


	//载入xml
	$_sxe=simplexml_load_file('test.xml');

	//读二级标签
	echo $_sxe->student->score;

?>

实例四:

读取XML文件中一级标签class下的属性grade的值:

<?php

	//载入xml
	$_sxe=simplexml_load_file('test.xml');
	
	//输出第二个student的属性
	echo $_sxe->class->attributes();
	
?>

实例五:

使用xpath来获取xml节点操作:

<?php

	//使用xpath来获取xml节点操作
	
	//载入xml
	$_sxe= simplexml_load_file('test.xml');

	//访问一级节点,获取class的值
	$_class=$_sxe->xpath('/students/class');
	echo $_class[0];

	//访问二级节点
	$_address=$_sxe->xpath('/students/student/address');
	//print_r($_address);

    //访问节点的属性
	$_student=$_sxe->xpath('/students/student');
	echo $_student[1]->attributes();
?>

 

比较常用的就这些啦,大概只要过一遍就能清楚些的是啥啦,很简单哦!

如果这篇文章对你有帮助的话请点帮我点个赞,让我知道我写的文章有帮助到他人哈哈哈,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值