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

1.创建XML文件

  1. header("Content-type: text/html; charset=utf-8");
  2. $xml=new SimpleXMLElement('<?xml version="1.0" encoding="utf-8"?><returnRequest />');
  3. $item=$xml->addchild("client","DYSON");
  4. $item1=$xml->addchild("distributionCentre","DAMCO");
  5.  
  6. $item2=$xml->addchild("order");
  7. $item2->addchild("ref",$info_all['id']);
  8. $item2->addchild("id","??");
  9. $item2->addchild("store","CN");
  10. $item3 = $item2->addchild("detail");
  11. $item3->addchild("created",$info_all['crated']);
  12. $item3->addchild("customer");
  13. $item3->addchild("ip");
  14. $item3->addchild("language","cn-GB");
  15. $item3->addchild("vatCountry","CN");
  16. $item3->addchild("origin","DYSON");
  17. $item3->addchild("originDate",$info_all['crated']);
  18. $item3->addchild("customerReference","???");
  19. $item3->addchild("csAgent");
  20. $item4 = $item2->addchild("people");
  21. $item4_1 = $item4->addchild("person");
  22. $item4_1->addchild("ref");
  23. $item4_1->addchild("title");
  24. $item4_1->addchild("firstName",$info_all['receiver_name']);
  25. $item4_1->addchild("lastName");
  26. $item4_1->addchild("phone",$info_all['receiver_mobile']);
  27. $item4_1->addchild("fax");
  28. $item4_1->addchild("mobile");
  29. $item4_1->addchild("email");
  30. $item4_1->addchild("department");
  31. $item4_1->addchild("companyName");
  32. $item4_1->addchild("gender");
  33. $item4_1->addchild("dateofbirth");
  34. $item5 = $item2->addchild("address");
  35. $item5_1 = $item5->addchild("address");
  36. $item5_1->addchild("addresstype","customer");
  37. $item5_1->addchild("addrss1",$info_all['receiver_district']);
  38. $item5_1->addchild("addrss2",$info_all['receiver_address']);
  39. $item5_1->addchild("city",$info_all['receiver_city']);
  40. $item5_1->addchild("state",$info_all['receiver_state']);
  41. $item5_1->addchild("zip",$info_all['receiver_zip']);
  42. $item5_1_1 = $item5_1->addchild("country");
  43. $item5_1_1->addchild("code","CN");
  44. $item5_1_1->addchild("name","CHINA");
  45.  
  46. header("Content-type: text/xml");
  47. // echo $xml->asXml();exit;
  48. $xml->asXml("test.xml");

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

2.解析XML文件

  1. $xml = simplexml_load_file("test.xml");
  2.  
  3. $data['client'] = $xml->client;
  4. $data['language'] = $xml->order->detail->language;
  5.  
  6. 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. leetcode-139-单词拆分(递归超时,动归解决)

    题目描述: 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词. 说明: 拆分时可以重复使用字典中的单词. 你可以假设字 ...

  2. 蓝牙4.0BLE抓包(一) - 搭建EN-Dongle工作环境 使用EN-Dongle抓包 nRF51822

     版权声明:本文为博主原创文章,转载请注明作者和出处.           蓝牙4.0 BLE的开发过程中,使用抓包器进行抓包分析无疑会极大地提高我们的开发效率,同时能帮我们快速的定位问题.对于初学者 ...

  3. Linux 线程调度策略与线程优先级

    Linux内核的三种调度策略 SCHED_OTHER 分时调度策略. 它是默认的线程分时调度策略,所有的线程的优先级别都是0,线程的调度是通过分时来完成的.简单地说,如果系统使用这种调度策略,程序将无 ...

  4. redis-server.exe双击闪退 win10系统

    博客 解决方法: 1-win+R 打开命令行 2-cd至redis目录,例如 D:\redis> 3-输入 redis-server.exe redis.windows.conf     4-若 ...

  5. C++ class和struct的区别

    class和struct定义类唯一的区别就是默认的访问权限. 如果我们使用struct关键字,则定义在第一个访问说明符之前的成员是public的:相反,如果我们使用class关键字,组这些成员是pri ...

  6. 【算法笔记】A1071 Speech Patterns

    1071 Speech Patterns (25 分)   People often have a preference among synonyms of the same word. For ex ...

  7. 角色用户权限RBAC

    关于角色.用户.权限的表设计,已经成为经典中的经典,到处都在用,这里只是收录一下: 角色表:{role_id,role_name} 用户表:{user_id,user_name} 权限表:{permi ...

  8. jQuery多库共存问题解决方法

    一.问题概述: 1.随着jQuery的流行,采用jQuery和$符为命名空间的js库越来越多,当然jQuery的$符也是参照的Prototype库的,所以当多个库同时以$符或者jQuery为命名空间时 ...

  9. redis 常用的server的命令

  10. 《LeetBook》LeetCode题解(2):Add Two Numbers [M]

    我现在在做一个叫<leetbook>的免费开源书项目,力求提供最易懂的中文思路,目前把解题思路都同步更新到gitbook上了,需要的同学可以去看看 书的地址:https://hk029.g ...