> 백엔드 개발 > PHP 문제 > PHP 배열을 XML 형식으로 변환하는 방법

PHP 배열을 XML 형식으로 변환하는 방법

PHPz
풀어 주다: 2023-04-23 17:50:25
원래의
1126명이 탐색했습니다.

PHP에서는 배열과 XML 데이터 간의 변환이 매우 일반적입니다. 이 기사에서는 PHP 배열을 XML 형식으로 변환하는 여러 가지 방법을 소개합니다.

  1. XML 수동 구성

우선 변환을 위해 XML을 수동으로 구성할 수 있습니다. 구체적으로, PHP의 DOM 확장을 사용하여 XML 문서의 구조에 따라 DOM 객체를 생성한 다음 해당 노드에 배열 데이터를 삽입할 수 있습니다. 다음은 간단한 예입니다.

<?php
$my_array = array(
  &#39;person&#39; => array(
    'name' => 'Jack',
    'age' => 30,
    'email' => 'jack@example.com',
  ),
);

$doc = new DOMDocument();
$root = $doc->createElement('root');
$doc->appendChild($root);

function array_to_xml($data, &$xml) {
  foreach($data as $key => $value) {
    if(is_array($value)) {
      $subnode = $xml->createElement($key);
      $xml->appendChild($subnode);
      array_to_xml($value, $subnode);
    } else {
      $xml->appendChild($xml->createElement($key,$value));
    }
  }
}

array_to_xml($my_array, $root);
echo $doc->saveXML();
?>
로그인 후 복사
  1. SimpleXML 사용

PHP는 SimpleXML 확장을 사용하여 연관 배열을 XML로 직접 변환하는 더욱 간단한 방법도 제공합니다. 샘플 코드는 다음과 같습니다.

<?php
$my_array = array(
  &#39;person&#39; => array(
    'name' => 'Jack',
    'age' => 30,
    'email' => 'jack@example.com',
  ),
);

$xml = new SimpleXMLElement('<root/>');

function array_to_xml($data, &$xml) {
  foreach($data as $key => $value) {
    if(is_array($value)) {
      array_to_xml($value, $xml->addChild($key));
    } else {
      $xml->addChild("$key",htmlspecialchars("$value"));
    }
  }
}

array_to_xml($my_array, $xml);
echo $xml->asXML();
?>
로그인 후 복사
  1. XMLWriter 사용

대안은 XMLWriter 확장을 사용하는 것입니다. XMLWriter를 사용하면 XML 파일 생성 프로세스를 보다 세밀하게 제어할 수 있습니다. 샘플 코드는 다음과 같습니다.

<?php
$my_array = array(
  &#39;person&#39; => array(
    'name' => 'Jack',
    'age' => 30,
    'email' => 'jack@example.com',
  ),
);

$xml = new XMLWriter();
$xml->openMemory();
$xml->startDocument('1.0','UTF-8');
$xml->startElement('root');

function array_to_xml($data, &$xml) {
  foreach($data as $key => $value) {
    if(is_array($value)) {
      $xml->startElement($key);
      array_to_xml($value, $xml);
      $xml->endElement();
    } else {
      $xml->writeElement($key, $value);
    }
  }
}

array_to_xml($my_array, $xml);
$xml->endElement();
echo $xml->outputMemory(TRUE);
?>
로그인 후 복사

Summary

위는 PHP 배열을 XML로 변환하는 세 가지 방법입니다. 수동으로 XML을 구성하는 것은 가장 지루한 방법이지만 XML 생성 프로세스를 세밀하게 제어할 수 있어 가장 유연하기도 합니다. SimpleXML은 연관 배열을 XML 형식으로 직접 변환하는 더 간단한 옵션입니다. XMLWriter를 사용하면 XML 파일 생성 프로세스를 보다 세밀하게 제어할 수 있습니다. 실제 필요에 따라 이러한 방법 중 하나 이상을 선택하여 배열을 XML 형식으로 변환할 수 있습니다.

위 내용은 PHP 배열을 XML 형식으로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿