php 读写 xml

原创 2015年05月05日 17:28:07

读取xml信息

test.xml

<?xml version="1.0" encoding="UTF-8"?>
<class>
	<student>
		<name>张三</name>
		<age>23</age>
		<intro>努力学习</intro>
	</student>
	<student>
		<name>李四</name>
		<age>23</age>
		<intro>努力学习</intro>
	</student>
</class>
test.php

<?php
	$xmldoc = new DOMDocument();
	
	$xmldoc->load("test.xml");
	
	$stus = $xmldoc->getElementsByTagName("student");
	
	for($i=0;$i < $stus->length;$i++){
		
		$stu = $stus->item($i);
		echo getNodeVal($stu,"name")."--".getNodeVal($stu,"age")."--".
				getNodeVal($stu,"intro")."<br/>";
	}
	
	function getNodeVal(&$MyNode,$tagName){
		return $MyNode->getElementsByTagName($tagName)->item(0)->nodeValue;
	}
?>

写xml:

<span style="font-size:18px;"><?php
	$xmldoc = new DOMDocument("1.0","utf-8");
	
	$xmldoc->load("classes2.xml");
	
	//添加一个学生信息
	//创建学生结点
	$root = $xmldoc->getElementsByTagName("class")->item(0);
	$stu_node = $xmldoc->createElement("student");
	
	$stu_node->setAttribute("sex", "男");
	
	//创建名字结点并且挂载到学生结点下
	$stu_node_name=$xmldoc->createElement("name");
	$stu_node_name->nodeValue = "唐唐";
	$stu_node->appendChild($stu_node_name);
	
	$stu_node_age=$xmldoc->createElement("age");
	$stu_node_age->nodeValue = "24";
	$stu_node->appendChild($stu_node_age);
	
	$stu_node_intro=$xmldoc->createElement("intro");
	$stu_node_intro->nodeValue = "我是唐唐,我一直很努力";
	$stu_node->appendChild($stu_node_intro);
	
	//把学生结点挂载到根结点下
	$root->appendChild($stu_node);
	
	$xmldoc->save("new.xml");
?></span>


删除结点:

<?php
	$xmldoc = new DOMDocument("1.0","utf-8");
	
	$xmldoc->load("test.xml");
	//删除一个结点
	$root = $xmldoc->getElementsByTagName("class")->item(0);
	
	$stus = $xmldoc->getElementsByTagName("student");
	
	$stu1 = $stus->item(2);
	
	//$root->removeChild($stu1);
	
	$stu1->parentNode->removeChild($stu1);
	
	$xmldoc->save("test.xml");
?>

修改结点:

<?php
	$xmldoc = new DOMDocument("1.0","utf-8");
	
	$xmldoc->load("test.xml");
	//删除一个结点
	$root = $xmldoc->getElementsByTagName("class")->item(0);
	
	$stus = $xmldoc->getElementsByTagName("student");
	
	$stu1 = $stus->item(0);
	
	$stu1_name = $stu1->getElementsByTagName("name")->item(0);
	$stu1_name->nodeValue = "唐唐改名了";
	
	$xmldoc->save("test.xml");
?>


版权声明:技术博客自由转载,自由使用。

php读写XML文件

 =================================== 下面是一片比较好的、且很简单的读写XML的文章,在此转一下。 原文http://blog.sina.com.cn/s...
  • dusea
  • dusea
  • 2015年08月10日 20:39
  • 1098

php读写xml

之前发布了javascript读取xml的资料,大多数的时候还要去解决js的跨域问题。最简单的方法就是服务器端去读取,php读取xml等格式文本的能力非常强大,现在在这里浅略说一点。 >>>>>...
  • u011216417
  • u011216417
  • 2015年05月07日 07:56
  • 428

Android学习笔记(八)之Android 读写xml文件

/** * XmlTool.java * 版权所有(C) 2012 * 创建:cuiran 2012-9-19 下午3:39:40 */ package com.wpn.xml; ...
  • cuiran
  • cuiran
  • 2012年09月21日 08:45
  • 7485

Unity3D C# 读写XML

效果 代码 using UnityEngine; using System.IO; using System.Xml; using System.Collections; public c...
  • AWNUXCVBN
  • AWNUXCVBN
  • 2013年07月03日 23:03
  • 9713

xml文件读取和写入的实现方式小结

xml文件的读取和写入主要又两种,一种是XMLDocument,另一种是XMLtextwriter/xmltextreader。 1、XMLtextwriter/xmltextreader   ...
  • happy_rita
  • happy_rita
  • 2012年08月14日 14:35
  • 7478

VC读写XML文件

1、安装MSXML 4.0 SP2。在VC6中建立一个基于Dialog的工程。如图:在界面上放置3个编辑框、1个按钮控件。其中属性设置如下。编辑框: ID...
  • max2008
  • max2008
  • 2007年06月11日 11:16
  • 11418

java的xml读写

一、采用Dom方式读写 1、Dom读 一次加载所有节点(xml文件过大可能出现问题),能保存xml的结构(更方便修改,整棵树都在内存中),是用DocumentBuilderFactor读入。 2、Do...
  • pc_gad
  • pc_gad
  • 2016年10月14日 00:38
  • 1581

php中simplexml_load_file函数用法实例

本文实例讲述了php中simplexml_load_file函数用法。分享给大家供大家参考。具体用法分析如下: 在php中simplexml_load_file() 函数把 XML 文档载入对象...
  • slpond
  • slpond
  • 2016年11月28日 16:16
  • 565

unity3d 简单的xml文件读写操作

1.首先创建一个和xml对应的类using UnityEngine; using System.Collections; public class GameData{ public int...
  • qq_27361571
  • qq_27361571
  • 2016年01月19日 10:37
  • 2381

cocos2dx读写xml文件

首先包含头文件 #include "tinyxml2/tinyxml2.h" using namespace tinyxml2; //data.xml文件内容 Misty Vale 1...
  • TianTangYouZui
  • TianTangYouZui
  • 2016年03月16日 10:20
  • 1179
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php 读写 xml
举报原因:
原因补充:

(最多只允许输入30个字)