使用php创建XML文件十分简单,使用SimpleXML那就更简便了,同时读取XML文件也十分方便。XML文件是直接在浏览器中打开,以自定义标签的方式直观简洁的方式展示给读者。

1.创建XML文件

header("Content-type: text/html; charset=utf-8");
$xml=new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><returnRequest />');
$item=$xml->addchild("client","DYSON");
$item1=$xml->addchild("distributionCentre","DAMCO"); $item2=$xml->addchild("order");
$item2->addchild("ref",$info_all['id']);
$item2->addchild("id","??");
$item2->addchild("store","CN");
$item3 = $item2->addchild("detail");
$item3->addchild("created",$info_all['crated']);
$item3->addchild("customer");
$item3->addchild("ip");
$item3->addchild("language","cn-GB");
$item3->addchild("vatCountry","CN");
$item3->addchild("origin","DYSON");
$item3->addchild("originDate",$info_all['crated']);
$item3->addchild("customerReference","???");
$item3->addchild("csAgent");
$item4 = $item2->addchild("people");
$item4_1 = $item4->addchild("person");
$item4_1->addchild("ref");
$item4_1->addchild("title");
$item4_1->addchild("firstName",$info_all['receiver_name']);
$item4_1->addchild("lastName");
$item4_1->addchild("phone",$info_all['receiver_mobile']);
$item4_1->addchild("fax");
$item4_1->addchild("mobile");
$item4_1->addchild("email");
$item4_1->addchild("department");
$item4_1->addchild("companyName");
$item4_1->addchild("gender");
$item4_1->addchild("dateofbirth");
$item5 = $item2->addchild("address");
$item5_1 = $item5->addchild("address");
$item5_1->addchild("addresstype","customer");
$item5_1->addchild("addrss1",$info_all['receiver_district']);
$item5_1->addchild("addrss2",$info_all['receiver_address']);
$item5_1->addchild("city",$info_all['receiver_city']);
$item5_1->addchild("state",$info_all['receiver_state']);
$item5_1->addchild("zip",$info_all['receiver_zip']);
$item5_1_1 = $item5_1->addchild("country");
$item5_1_1->addchild("code","CN");
$item5_1_1->addchild("name","CHINA"); header("Content-type: text/xml");
// echo $xml->asXml();exit;
$xml->asXml("test.xml");

使用addchild方法可以无限创建XML标签,同时也可以无限层级,类似多维数组形式。文件打开显示为

2.解析XML文件

$xml = simplexml_load_file("test.xml");

     $data['client'] = $xml->client;
$data['language'] = $xml->order->detail->language; echo $data['language'];

使用 simplexml_load_file 函数可以解析XML文件 可以获取指定标签中的数据 (->标签)箭头指向哪个标签便获取所在标签中的数据。

PHP之SimpleXML函数的更多相关文章

  1. PHP 5 SimpleXML 函数

    PHP SimpleXML 简介 SimpleXML 扩展提供了一种获取 XML 元素的名称和文本的简单方式,只要您知道 XML 文档的布局. SimpleXML 转换 XML 文档到 SimpleX ...

  2. PHP SimpleXMLElement::__toString SimpleXML 函数

    定义和用法 SimpleXMLElement::__toString - 返回字符串内容 版本支持 PHP4 PHP5 PHP7 不支持 支持 支持 语法 SimpleXMLElement::__to ...

  3. PHP中遍历XML之SimpleXML

    简单来讲述一些XML吧,XML是可扩展标记语言,是一种用于标记电子文件使其具有结构性的标记语言.XML是当今用于传输数据的两大工具之一,另外一个是json. 我们在PHP中使用XML也是用来传输数据, ...

  4. HP SimpleXML

    PHP SimpleXML PHP SimpleXML 处理最普通的 XML 任务,其余的任务则交由其它扩展处理. 什么是 PHP SimpleXML? SimpleXML 是 PHP 5 中的新特性 ...

  5. PHP SimpleXML

    安装 SimpleXML 扩展需要 PHP 5 支持. 自 PHP 5 起,SimpleXML 函数是 PHP 核心的组成部分.无需安装即可使用这些函数. PHP 5 SimpleXML 函数 函数 ...

  6. Php函数完整参考手册

    序号 分类 描述 1 Array 函数 2 Calendar 函数 日历扩展包含了简化不同日历格式间的转换的函数. 3 Date/Time 函数 Date/Time 函数用于从 PHP 脚本运行的服务 ...

  7. PHP XML SimpleXML

    PHP 可以基于 SimpleXML 生成和解析 xml 的方法,通过本节的实例,你将了解 PHP 是如何使用 SimpleXML 生成及解析 xml 格式数据的. PHP SimpleXML 处理最 ...

  8. 什么是 PHP SimpleXML?

    PHP SimpleXML PHP SimpleXML 处理最普通的 XML 任务,其余的任务则交由其它扩展处理. 什么是 PHP SimpleXML? SimpleXML 是 PHP 5 中的新特性 ...

  9. PHP 语言特性

    一.PHP 超级全局变量 PHP 超级全局变量列表: $GLOBALS $_SERVER $_REQUEST $_POST $_GET $_FILES $_ENV $_COOKIE $_SESSION ...

随机推荐

  1. P1273 有线电视网(树形dp)

    P1273 有线电视网 题目描述 某收费有线电视网计划转播一场重要的足球比赛.他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点. ...

  2. 钉钉机器人集成Jenkins推送消息模板自定义发送报告

    一.由于公司同样也使用了钉钉.那么在做Jenkins集成自动化部署的时候,也是可以集成钉钉的. 那种Jenkins下载钉钉插件集成,简单设置就可以完成了.我们今天要做的是,定制化的发送消息. 钉钉推送 ...

  3. JDK源码分析(10) ConcurrentLinkedQueue

    概述 我们要实现一个线程安全的队列有两种实现方法一种是使用阻塞算法,另一种是使用非阻塞算法.使用阻塞算法的队列可以用一个锁(入队和出队用同一把锁)或两个锁(入队和出队用不同的锁)等方式来实现,而非阻塞 ...

  4. Great Expectations

    Dear friend, This game is created based on Dicken's Great Expectations. To colorful the contents, I ...

  5. Windows开发经验 - Visual Studio 2017

    1. 调试子进程 Visual Studio 2017及更早的版本原生不支持调试子进程,不确定未来是否会支持.可以通过官方插件让Visual Studio能够调试子进程. https://market ...

  6. VS2010一调试就卡死的问题解决方案 (转)

    前几天我的vs2010突然不能调试了.后来找了很多的解决方案都不能解决问题. 1. 删除所有的bin, debug 2. 重建工程. 3. 重新安装Silverlight的开发包. 还是不行. 最后是 ...

  7. (转)InnoDB存储引擎MVCC实现原理

    InnoDB存储引擎MVCC实现原理 原文:https://liuzhengyang.github.io/2017/04/18/innodb-mvcc/ 简单背景介绍 MySQL MySQL是现在最流 ...

  8. 异常捕获设置HTTPStatus

    第一步:创建一个异常类 package com.payease.exception; /** * @Created By liuxiaoming * @CreateTime 2017/12/12 下午 ...

  9. C++11 实现生产者消费者双缓冲

    基础的生产者消费者模型,生产者向公共缓存区写入数据,消费者从公共缓存区读取数据进行处理,两个线程访问公共资源,加锁实现数据的一致性. 通过加锁来实现 class Produce_1 { public: ...

  10. 【文档】三、Mysql Binlog事件类文件和类型

    在内部,服务器使用C++类文件来表示binlog事件.标准在log_event.h文件中,这些类的方法代码在log_event.cc中. log_event是基础类.其他的详细的事件子类都是来源于他. ...