PHP XML 튜토리얼: 예제를 통해 생성, 구문 분석, 읽기

XML이란 무엇입니까?

XML은 Extensible Markup Language의 약어입니다.

XML은 한 시스템에서 다른 시스템으로 데이터를 구성, 저장 및 전송하는 데 사용됩니다.

XML은 HTML과 유사합니다.

여는 태그와 닫는 태그를 사용합니다.

HTML과 달리 XML을 사용하면 사용자가 자신의 태그를 정의할 수 있습니다.

DOM이란 무엇입니까?

DOM은 Document Object Model의 약자입니다.

데이터에 액세스하고 조작하는 방법을 정의하는 크로스 플랫폼이자 언어 중립적인 표준입니다.

  • HTML
  • XHTML
  • XML

DOM XML은 XML 문서에 액세스하고 조작하는 데 사용됩니다. 그것 XML 문서를 봅니다 트리 구조로.

XML 파서

XML 파서는 XML 문서를 XML DOM(문서 개체 모델) 개체로 변환하는 프로그램입니다.

그런 다음 XML DOM 객체를 다음을 사용하여 조작할 수 있습니다. Java스크립트, Python, PHP 등

(Unparsed) Character Data의 약어인 CDATA 키워드는 XML 문서를 구문 분석할 때 "<,>"와 같은 특수 문자를 무시하는 데 사용됩니다.

XML을 사용하는 이유는 무엇입니까?

  • SOAP 및 REST와 같은 웹 서비스는 XML 형식을 사용하여 정보를 교환합니다. 최신 응용 프로그램은 웹 서비스를 많이 사용하므로 XML이 무엇인지, XML이 어떻게 작동하는지 배우면 개발자로서 경쟁 우위를 확보할 수 있습니다.
  • XML 문서를 사용하여 애플리케이션의 구성 설정을 저장할 수 있습니다.
  • 이를 통해 사용자 정의 태그를 생성하여 더욱 유연하게 만들 수 있습니다.

XML 문서 예

XML 형식의 웹 서비스에서 데이터를 가져오는 애플리케이션을 개발한다고 가정해 보겠습니다.

다음은 XML 문서의 모양에 대한 샘플입니다.

<?xml version="1.0" encoding="utf-8"?>
<employees status = "ok">
        <record man_no = "101">
            <name>Joe Paul</name>
            <position>CEO</position>
        </record>
        <record man_no = "102">
            <name>Tasha Smith</name>
            <position>Finance Manager</position>
        </record>
</employees>

이리,

  • “ ”는 사용할 XML 버전과 인코딩을 지정합니다.
  • “ ”는 루트 요소입니다.
  • “ … ”는 각각 관리 및 판매의 하위 요소입니다.

PHP를 사용하여 XML을 읽는 방법

이제 직원 XML 문서를 읽고 결과를 웹 브라우저에 표시하는 코드를 작성해 보겠습니다. 인덱스.php

<?php
$xml = simplexml_load_file('employees.xml');
echo '<h2>Employees Listing</h2>';
$list = $xml->record;
for ($i = 0; $i < count($list); $i++) {
    echo '<b>Man no:</b> ' . $list[$i]->attributes()->man_no . '<br>';
    echo 'Name: ' . $list[$i]->name . '<br>';
    echo 'Position: ' . $list[$i]->position . '<br><br>';
}
?>

이리,

  • “$xml = simplexml_load_file('employees.xml');”는 simplexml_load_file 함수를 사용하여 파일 이름 employee.xml을 로드하고 그 내용을 배열 변수 $xml에 할당합니다.
  • "$list = $xml->레코드;" 레코드 노드의 내용을 가져옵니다.
  • "for ($i = 0; $i < count(…)…"는 숫자 배열을 읽고 결과를 출력하는 for 루프입니다.
  • "$list[$i]->속성()->man_no;" 요소의 man_no 속성을 읽습니다.
  • “$list[$i]->이름;” name 하위 요소의 값을 읽습니다.
  • "$list[$i]->위치;" 위치 하위 요소의 값을 읽습니다.

응용 프로그램 테스트

phptus/xml 폴더에 index.php 파일을 저장했다고 가정하고 URL을 찾아보세요. http://localhost/phptuts/xml/index.php

PHP를 사용하여 XML 읽기

PHP를 사용하여 XML 문서를 만드는 방법

이제 PHP를 사용하여 XML 문서를 만드는 방법을 살펴보겠습니다.

DOM 트리 다이어그램에서 위의 예를 사용하겠습니다.

다음 코드는 PHP에 내장된 DOMDocument 클래스를 사용하여 XML 문서를 생성합니다.

<?php

	$dom = new DOMDocument();

		$dom->encoding = 'utf-8';

		$dom->xmlVersion = '1.0';

		$dom->formatOutput = true;

	$xml_file_name = 'movies_list.xml';

		$root = $dom->createElement('Movies');

		$movie_node = $dom->createElement('movie');

		$attr_movie_id = new DOMAttr('movie_id', '5467');

		$movie_node->setAttributeNode($attr_movie_id);

	$child_node_title = $dom->createElement('Title', 'The Campaign');

		$movie_node->appendChild($child_node_title);

		$child_node_year = $dom->createElement('Year', 2012);

		$movie_node->appendChild($child_node_year);

	$child_node_genre = $dom->createElement('Genre', 'The Campaign');

		$movie_node->appendChild($child_node_genre);

		$child_node_ratings = $dom->createElement('Ratings', 6.2);

		$movie_node->appendChild($child_node_ratings);

		$root->appendChild($movie_node);

		$dom->appendChild($root);

	$dom->save($xml_file_name);

	echo "$xml_file_name has been successfully created";
?>

이리,

  • "$dom = 새로운 DOMDocument();" DOMDocument 클래스의 인스턴스를 생성합니다.
  • "$dom->인코딩 = 'utf-8';" 문서 인코딩을 utf-8로 설정합니다.
  • "$dom->xmlVersion = '1.0';" 버전 번호 1.0을 지정합니다.
  • "$dom->formatOutput = true;" 출력 형식이 올바른지 확인합니다.
  • "$root = $dom->createElement('영화');" Movies라는 루트 노드를 생성합니다.
  • "$attr_movie_id = 새로운 DOMAttr('movie_id', '5467');" Movies 노드의 영화 ID 속성을 정의합니다.
  • "$child_node_element_name = $dom->createElement('ElementName', 'ElementValue')"는 Movies 노드의 하위 노드를 생성합니다. ElementName은 제목과 같은 요소의 이름을 지정합니다. ElementValue는 하위 노드 값(예: 캠페인)을 설정합니다.
  • "$루트->appendChild($movie_node);" movie_node 요소를 루트 노드 Movies에 추가합니다.
  • "$dom->appendChild($root);" XML 문서에 루트 노드를 추가합니다.
  • "$dom->저장($xml_file_name);" 웹 서버의 루트 디렉터리에 XML 파일을 저장합니다.
  • “에코 ' ' . $xml_파일_이름 . '이 (가) 성공적으로 생성되었습니다.';” XML 파일에 대한 링크를 만듭니다.

응용 프로그램 테스트

phptuts/xml 폴더에 create_movies_list 파일을 저장했다고 가정하고 URL을 찾아보세요. http://localhost/phptuts/xml/create_movies_list.php

PHP를 사용하여 XML 문서 만들기

Movies_list_xml 링크를 클릭하세요.

PHP를 사용하여 XML 문서 만들기

요약

  • XML Extensible Markup Language의 약어입니다.
  • XML은 시스템 간 정보 교환이나 애플리케이션의 구성 설정 저장 등에 사용될 수 있습니다.
  • DOM은 Document Object Model의 약어입니다. XML DOM은 XML 문서를 트리 구조로 봅니다.
  • XML 파서는 XML을 XML 문서와 같은 DOM 트리 구조로 변환하는 프로그램입니다.
  • CDATA는 XML 문서를 구문 분석할 때 특수 문자를 무시하는 데 사용됩니다.
  • PHP simplexml_load_file을 사용하여 XML 문서를 읽고 결과를 숫자형 배열로 반환합니다.
  • XML 파일을 생성하는 PHP DOMDocument 클래스입니다.