PHP读取及生成xml文件实测

PHP生成xml文件方法的四个方法,博主google了下http://www.phppan.com/2009/10/use-php-create-xml-file/这篇写的还不错,实测用了php现成支持的DomDocument方式生成xml文件,是可以用的。

注意XMLWriter的方式生成需要PHP开启扩展php-xml支持。

以下是博主亲测可用的demo:

$xml = new DOMDocument(‘1.0‘, ‘utf-8‘);
$xml_MeetingAttendee = $xml->createElement("MeetingAttendee");
$xml->appendChild($xml_MeetingAttendee);

$xml_PlanningCode = $xml->createElement("PlanningCode");
$xml_PlanningCode->nodeValue = ‘FPLN891‘;
$xml_MeetingAttendee->appendChild( $xml_PlanningCode );

$xml_SendDate = $xml->createElement("SendDate");
$xml_SendDate->nodeValue = ‘2016-04-23 00:00:00‘;
$xml_MeetingAttendee->appendChild($xml_SendDate);

$xml_AttendeeList = $xml->createElement("AttendeeList");
$xml_MeetingAttendee->appendChild($xml_AttendeeList);
for($i = 0; $i < 2; $i++){
$xml_Attendee = $xml->createElement("Attendee");
$xml_AttendeeList->appendChild($xml_Attendee);

$xml_AttendeeType = $xml->createElement("AttendeeType");
$xml_AttendeeType->nodeValue = ‘1‘;
$xml_Attendee->appendChild($xml_AttendeeType);

$xml_AttendeeId = $xml->createElement("AttendeeId");
$xml_AttendeeId->nodeValue = ‘16705‘;
$xml_Attendee->appendChild($xml_AttendeeId);

$xml_AttendeeHCPID = $xml->createElement("AttendeeHCPID");
$xml_AttendeeHCPID->nodeValue = ‘DR00080055‘;
$xml_Attendee->appendChild($xml_AttendeeHCPID);

$xml_AttendeeGUID = $xml->createElement("AttendeeGUID");
$xml_AttendeeGUID->nodeValue = ‘DBCA2553-7CD0-E211-9BB8-005056985885‘;
$xml_Attendee->appendChild($xml_AttendeeGUID);

$xml_SignedTime = $xml->createElement("SignedTime");
$xml_SignedTime->nodeValue = ‘2016-04-23 00:00:00‘;
$xml_Attendee->appendChild($xml_SignedTime);
}

$xml->formatOutput=true;
$xml->save("meeting.xml");

生成后的xml文件结构:

<?xml version="1.0" encoding="utf-8"?>
<MeetingAttendee>
  <PlanningCode>FPLN891</PlanningCode>
  <SendDate>2016-04-23 00:00:00</SendDate>
  <AttendeeList>
    <Attendee>
      <AttendeeType>1</AttendeeType>
      <AttendeeId>16705</AttendeeId>
      <AttendeeHCPID>DR00080055</AttendeeHCPID>
      <AttendeeGUID>DBCA2553-7CD0-E211-9BB8-005056985885</AttendeeGUID>
      <SignedTime>2016-04-23 00:00:00</SignedTime>
    </Attendee>
    <Attendee>
      <AttendeeType>1</AttendeeType>
      <AttendeeId>16705</AttendeeId>
      <AttendeeHCPID>DR00080055</AttendeeHCPID>
      <AttendeeGUID>DBCA2553-7CD0-E211-9BB8-005056985885</AttendeeGUID>
      <SignedTime>2016-04-23 00:00:00</SignedTime>
    </Attendee>
  </AttendeeList>
</MeetingAttendee>

读取也有多种方法这里给出两种:

一、DOMDocument方式读取:

$doc = new DOMDocument();
$doc->load(‘test1.xml‘); //读取xml文件
$MeetingAttendee = $doc->getElementsByTagName( "MeetingAttendee" ); //取得标签的对象数组
foreach( $MeetingAttendee as $row )
{
$PlanningCodes = $row->getElementsByTagName( "PlanningCode" ); //取得的标签的对象数组
$PlanningCode = $PlanningCodes->item(0)->nodeValue; //取得标签中的值
echo $PlanningCode;
} 

二、SimpleXML方式读取

$xml_object = simplexml_load_file($localfile)
echo $xml_object->MeetingAttendee->PlanningCode;
时间: 2024-10-10 09:17:21

PHP读取及生成xml文件实测的相关文章

省厅报件7.0 读取mdb 生成xml 文件

using System;using System.Collections.Generic;using System.Data;using System.Data.OleDb;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks; namespace ConsoleApplication1{ class Program { static void Main(string[] args) {

Android下使用pull解析器生成XML文件、读取XML文件

Android下使用Pull解析器 1,Pull解析器的运行方式与SAX解析器相似.它提供了类似的事件,如:开始元素和结束元素事件. 2,使用parser.next()可以进入下一个元素并触发相应事件. 3,事件将作为一个int数值被发送,因此可以使用一个switch对相应的事件进行处理. 4,当元素开始解析时,调用parser.nextText()方法可以获取下一个Text类型节点的值. 5,相关API: 获得当前节点事件类型:parser.getEventType(); 获得下一节点事件类型

使用Pull解析器生成XML文件和读取xml文件

有些时候,我们需要生成一个XML文件,生成XML文件的方法有很多,如:可以只使用一个StringBuilder组拼XML内容,然后把内容写入到文件中:或者使用DOM API生成XML文件,或者也可以使用pull解析器生成XML文件,这里推荐大家使用Pull解析器. 一.布局界面 [html] view plaincopyprint? <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

Java之Pull方式生成xml文件和解析xml文件

Pull XML解析器早已经被google集成到android sdk当中,它是google官方推荐的解析器. 如果我们要在Java桌面.J2ME等当中使用Pull方式生成xml文件和解析xml文件,需要用到kxml2: KXML解析器是基于普通XML PULL解析器的一个小巧的解析器,官网是http://kxml.org/ 普通XML PULL解析器的官网是http://xmlpull.org/ 实验开始: 在Eclipse中新建一个java项目,其中新建一个libs文件夹,拷贝从网上下载的k

【Java编程】SAX XML Parser解析、生成XML文件

1.优缺点 优点: SAX 从根本上解决了 DOM 在解析 XML 文档时产生的占用大量资源的问题.其实现是通过类似于流解析的技术,通读整个 XML 文档树,通过事件处理器来响应程序员对于 XML 数据解析的需求.由于其不需要将整个 XML 文档读入内存当中,它对系统资源的节省是十分显而易见的,它在一些需要处理大型 XML 文档以及性能要求较高的场合有起了十分重要的作用.支持 XPath 查询的 SAX 使得开发人员更加灵活,处理起 XML 来更加的得心应手. 缺点: 但是同时,其仍然有一些不足

Android学习之XML数据的三种解析方式以及生成XML文件

首先,我得声明,本博客的思想主要参考了此博客:http://blog.csdn.net/liuhe688/article/details/6415593 不过代码我自己一句句敲的 好了,首先讲一下解析XML的三种方式:(恕我粘贴一下哈) SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事件源产生事件后,调用事件处理器相应的处理方法,一个事件就可以得到处理.在事件源调用事件处理器中特定方

python生成xml文件

先上代码: 1 #!/usr/bin/env python3 2 # _*_ coding: utf-8 _*_ 3 5 from xml.dom.minidom import Document 6 7 def readFile(filename, lines): 8 with open(filename, 'r') as f: 9 for line in f: 10 line = line.rstrip(' \n') 11 if line.startswith('//') or len(lin

使用XML序列化器生成XML文件和利用pull解析XML文件

首先,指定XML格式,我指定的XML格式如下: <?xml version='1.0' encoding='utf-8' standalone='yes' ?> <message> <sms> <body> 陈驰0 </body> <date> 1462162910995 </date> <address> 1380 </address> <type> 1 </type> &

利用oxygen编辑并生成xml文件,并使用JAVA的JAXB技术完成xml的解析

首先下载oxygen软件(Oxygen XML Editor),目前使用的是试用版(可以安装好软件以后get trial licence,获得免费使用30天的权限,当然这里鼓励大家用正版软件!!!) 1 首先建立一个空白XML文件,直接点击下图所示即可: 2 可以使用xml文本编辑界面,或者使用xml树状图编辑界面 切换到xml树状图编辑界面的方法为: 即可调出当前xml文件所对应的xml树状图编辑界面 3 设计并编辑xml文件 根据自己的需要可以利用xml树状图操作界面来方便的设计自己的xml