PHP에서 XML을 JSON으로 변환
Minahil Noor
2021년2월25일
이 기사에서는 PHP에서 XML 문자열을 JSON으로 변환하는 방법을 소개합니다.
simplexml_load_string()
및json_encode()
함수를 사용하여 PHP에서 XML 문자열을 JSON으로 변환
직접 변환을위한 특수 함수가 없기 때문에 PHP에서 XML 문자열을 JSON으로 변환하는 두 가지 함수를 사용할 것입니다. 이 두 함수는 simplexml_load_string()
및 json_encode()
. XML 문자열을 JSON으로 변환하기 위해 이러한 함수를 사용하는 올바른 구문은 다음과 같습니다.
simplexml_load_string($data, $class_name, $options, $ns, $is_prefix);
simplexml_load_string()
함수는 5 개의 매개 변수를받습니다. 매개 변수의 세부 사항은 다음과 같습니다.
변수 | 기술 | |
---|---|---|
$data |
필수 | 올바른 형식의 XML 문자열입니다. |
$class_name |
선택 과목 | 이 선택적 매개 변수를 사용하여simplexml_load_string() 이 지정된 클래스의 객체를 반환하도록합니다. 이 클래스는 SimpleXMLElement 클래스를 확장해야합니다. |
options |
선택 과목 | options 매개 변수를 사용하여 추가 Libxml 매개 변수를 지정할 수도 있습니다. |
ns |
선택 과목 | 네임 스페이스 접두사 또는 URI입니다. |
$is_prefix |
선택 과목 | $ns 가 접두사이면true 로 설정하고 URI이면false 로 설정합니다. 기본값은 false 입니다. |
이 함수는 XML 문자열 내에 보관 된 데이터를 포함하는 SimpleXMLElement
클래스의 객체를 반환하거나 실패시False
를 반환합니다.
json_encode($value, $flags, $depth);
json_encode()
함수에는 세 개의 매개 변수가 있습니다. 매개 변수의 세부 사항은 다음과 같습니다.
변수 | 기술 | |
---|---|---|
$value |
필수 | 인코딩되는 값입니다. |
$flags |
선택 과목 | JSON_FORCE_OBJECT , JSON_HEX_QUOT , JSON_HEX_TAG , JSON_HEX_AMP , JSON_HEX_APOS , JSON_INVALID_UTF8_IGNORE , JSON_INVALID_UTF8_SUBSTITUTE , JSON_NUMERIC_CHECK , JSON_PARTIAL_OUTPUT_ON_ERROR , JSON_PRESERVE_ZERO_FRACTION , JSON_PRETTY_PRINT , JSON_UNESCAPED_LINE_TERMINATORS , JSON_UNESCAPED_SLASHES , JSON_UNESCAPED_UNICODE , JSON_THROW_ON_ERROR 이루어진 비트 마스크 |
$depth |
선택 과목 | 최대 깊이. 0보다 커야합니다. |
이 함수는 JSON 값을 반환합니다. 아래 프로그램은simplexml_load_string()
및json_encode()
함수를 사용하여 PHP에서 XML 문자열을 JSON으로 변환하는 방법을 보여줍니다.
<?php
$xml_string = <<<XML
<?xml version='1.0' standalone='yes'?>
<movies>
<movie>
<title>PHP: Behind the Parser</title>
<characters>
<character>
<name>Ms. Coder</name>
<actor>Onlivia Actora</actor>
</character>
<character>
<name>Mr. Coder</name>
<actor>El ActÓr</actor>
</character>
</characters>
<plot>
So, this language. It is like, a programming language. Or is it a
scripting language? All is revealed in this thrilling horror spoof
of a documentary.
</plot>
<great-lines>
<line>PHP solves all my web problems</line>
</great-lines>
<rating type="thumbs">7</rating>
<rating type="stars">5</rating>
</movie>
</movies>
XML;
$xml = simplexml_load_string($xml_string);
$json = json_encode($xml); // convert the XML string to JSON
var_dump($json);
?>
출력:
string(415) "{"movie":{"title":"PHP: Behind the Parser","characters":{"character":[{"name":"Ms. Coder","actor":"Onlivia Actora"},{"name":"Mr. Coder","actor":"El Act\u00d3r"}]},"plot":"\n So, this language. It is like, a programming language. Or is it a\n scripting language? All is revealed in this thrilling horror spoof\n of a documentary.\n ","great-lines":{"line":"PHP solves all my web problems"},"rating":["7","5"]}}"