• 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;
  • 相关阅读:
    【caffe】create_mnist.sh在windows下的解决方案
    【caffe】loss function、cost function和error
    【caffe】未定义函数或变量caffe_
    【caffe】无法找到gpu/mxGPUArray.h: No such file or directory
    maven常见问题处理(3-1)修改maven 默认使用的 jdk 版本
    SpringCloud是什么?
    SpringCloud的服务网关zuul
    SpringCloud的EurekaClient : 客户端应用访问注册的微服务(有断路器场景)
    SpringBoot 概念和起步
    YML(1)什么是 YML
  • 原文地址:https://www.cnblogs.com/RockyZhang/p/5515981.html
Copyright © 2020-2023  润新知