<?php
class XML
{
    private $dom;
    
    function __construct ()
    {
        $this->dom = new DOMDocument ('1.0','UTF-8');
        header ("Content-Type:text/xml");
    }

//传递普通节点名称,创建节点
    function CreateNode ($node)
    {
        return $this -> dom -> createElement ($node);
    }

//传递根节点名称,添加根节点
    function AddRoot ($rootNode)
    {
        $this -> dom -> appendChild ($rootNode);
    }

//传递父节点与子节点,给父节点添加子节点
    function AddChildNode ($parentNode,$childNode)
    {
        $parentNode -> appendChild ($childNode);
    }

//传递文本节点名称,创建文本节点
    function CreateTxtNode ($txt)
    {
        return $this -> dom -> createTextNode ($txt);
    }

//传递属性节点名称,创建属性节点
    function CreateAttr ($attr)
    {
        return $this -> dom -> createAttribute ($attr);
    }

//整体返回XML
    function GetXml ()
    {
        return $this -> dom -> saveXML ();
    }
}

//实例化XML类
$xml = new XML();
//创建节点
$rootnode = $xml -> CreateNode ('student');
//添加根节点
$xml -> AddRoot ($rootnode);
//创建节点
$usernode = $xml -> CreateNode ('username');
//添加孩子节点
$xml -> AddChildNode ($rootnode,$usernode);
//创建属性节点
$uid = $xml -> CreateAttr ('userid');
//添加孩子节点
$xml -> AddChildNode ($usernode,$uid);
//创建文本节点
$userid = $xml -> CreateTxtNode ('s001');
//添加孩子节点
$xml -> AddChildNode ($uid,$userid);
//创建文本节点
$usertext = $xml -> CreateTxtNode ('lise');
//添加孩子节点
$xml -> AddChildNode ($usernode,$usertext);
//输出XML文件
echo $xml -> GetXml ();
?>

摘自:http://wenku.baidu.com/link?url=tbdtDlRgQ3AFQbEWUXIHJ6T_6wT0AHRhWu4pKe5k039qo07OmvpfDlxezVOgYUtH0phiFAFKrttoeQp3Gw9txYkQvJIy_dmZCDWj8CbZt_a

PHP对XML文件操作类讲解的更多相关文章

  1. XML文件操作类--创建XML文件

    这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System. ...

  2. C# XML文件操作类XmlHelper

    类的完整代码: using System;using System.Collections;using System.Xml; namespace Keleyi.Com.XmlDAL{public c ...

  3. (Unity)XML文件读写与IO文件操作类使用介绍

    using System.Xml;                //xml文件操作命名空间 #region 写入操作 void WriteXMLFile(string _fileName) { Xm ...

  4. 我来讲讲在c#中怎么进行xml文件操作吧,主要是讲解增删改查!

    我把我写的四种方法代码贴上来吧,照着写没啥问题. 注: <bookstore> <book> <Id>1</Id> <tate>2010-1 ...

  5. Xml通用操作类

    using System; using System.Collections.Generic; using System.IO; using System.Text; using System.Xml ...

  6. [C#] 常用工具类——文件操作类

    /// <para> FilesUpload:工具方法:ASP.NET上传文件的方法</para> /// <para> FileExists:返回文件是否存在&l ...

  7. asp.net文件操作类

    /** 文件操作类 **/ #region 引用命名空间 using System; using System.Collections.Generic; using System.Text; usin ...

  8. C# 文件操作类大全

      C# 文件操作类大全 时间:2015-01-31 16:04:20      阅读:1724      评论:0      收藏:0      [点我收藏+] 标签: 1.创建文件夹 //usin ...

  9. Java文件操作类效率对比

    前言 众所周知,Java中有多种针对文件的操作类,以面向字节流和字符流可分为两大类,这里以写入为例: 面向字节流的:FileOutputStream 和 BufferedOutputStream 面向 ...

随机推荐

  1. (转)RabbitMQ消息队列的小伙伴: ProtoBuf(Google Protocol Buffer)

    什么是ProtoBuf? 一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化.它很适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等领域的语言无关.平台无关.可扩 ...

  2. 华丽的HTML5/jQuery动画和应用 前端必备

    在网页应用中,我们经常会使用jQuery来实现一些简单的动画效果,比如菜单下拉时的渐变特效,图片滑动时的淡入淡出效果等.现在我们将jQuery和HTML5互相结合,让HTML5/CSS3强大的页面渲染 ...

  3. 采用Service实现本地推送通知

    在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态栏框架,通知机制,ActionBar框架等等. ...

  4. berkerly db 中简单的读写操作(有一些C的 还有一些C++的)

    最近在倒腾BDB,才发现自己确实在C++这一块能力很弱,看了一天的api文档,总算是把BDB的一些api之间的关系理清了,希望初学者要理清数据库基本知识中的环境,句柄,游标的基本概念,这样有助于你更好 ...

  5. Microsoft.Xna.Framework.TitleContainer.OpenStream()

    /// <summary> /// This method opens a file using System.IO classes and the /// TitleLocation p ...

  6. node.js和socket.io纯js实现的即时通讯实例分享

    在这个例子中,其实node.js并没有真正起到服务器的作用,因为我们这里可以直接运行client.html文件,而不用输入url请求,当 然,要想输入url请求页面内容还需要加入请求静态文件的代码.这 ...

  7. fast_recovery_area无剩余空间(ORA-19815)

    一.问题现象 --执行日志切换时,夯住 SQL ('/u01/oradata/oracle/redo04.log') size 50m; SQL> alter system switch log ...

  8. python学习第四天第一部分

    1.字典的特性:无序.去重.查询速度快.比list占用内存多. 2.字典查询速度快的原因:因为他是哈希类型的. 3.什么是(hash)哈希? hash把任意长度的二进制映射为较短的固定长度的二进制,这 ...

  9. 【转】Mac 上 java 究竟在哪里,本文彻底让你搞清楚!

    这篇文章可能比较适合那些在经常在Mac下进行Java编程开发,或者经常使用Java工具的朋友.不关心Java或者不了解Java的朋友可以绕过本文哈~ 1. Mac下当你在[终端]输入java -ver ...

  10. [ERROR] Failed to open log

    版本:5.5.14 性能测试部-测试环境数据库 1.在性能测试过程中大量的日志,测试人员直接使用 rm -rf 删除所有 2.重启数据库时,出现报错,导致数据库无法启动,查看报错日志,报错信息如下: ...