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 객체는 JavaScript, 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 = 심plexml_load_file('employees.xml');” 심을 사용한다plexml_load_file 함수를 사용하여 Employees.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 트리 다이어그램에서 위의 예를 사용하겠습니다.

더 폴로wing 코드는 DOMDocument 클래스에 내장된 PHP를 사용하여 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 심을 사용한다plexml_load_file은 XML 문서를 읽고 결과를 숫자 배열로 반환합니다.
  • XML 파일을 생성하는 PHP DOMDocument 클래스입니다.