PHP에서 XML을 JSON으로 변환하는 방법


최상의 답변

핵심 PHP를 좋아하는 경우 일부 내장 함수를 사용하여 수행 할 수 있습니다. 다음과 같이하십시오.

$xmlObject = simplexml\_load\_string($xmlString);

$jsonString = json\_encode($xmlObject);

$jsonObject = json\_decode($jsonString);

이 작업을 수행하는 멋진 방법을 찾아 보겠습니다. 할까요.

먼저, XML을 JSON으로 변환하려면 클래스가 필요합니다.

class XmlToJson{

private $xmlObject;

public function getXmlObject(){

return $this->xmlObject;

}

// It"s basic constructor. Just getting the XML object

// If we have XML Object then we can just create new

// Object with XML Object as parameter.

public function \_\_construct($xmlObject = null){

$this->xmlObject = $xmlObject;

}

// Read from XML file and create Object from the contents.

public static function fromFile($filepath){

if(!file\_exists($filepath){

throw new Exception("File not found");

}

$xmlString = file\_get\_contents($filepath);

if($xmlString === false){

throw new Exception("Could not read the file");

}

return self::fromString($xmlString);

}

// Get XML String and create new Object from the string.

public static function fromString($xmlString){

if($xmlObject === false){

throw new Exception("Could not convert to XML Object");

}

return new XmlToJson($xmlObject);

}

// Get Json Object from the XML Object we have

public function getJson(){

$jsonString = json\_encode($this->xmlObject);

return json\_decode($jsonString);

}

}

코드를 테스트하지 않았습니다. 내가 의도 한대로 작동하지 않을 수 있습니다. 하지만 시도해 볼 가치가 있습니다. 일반적으로 PHP가 XML에서 객체와 문자열을 처리하는 방식에 문제가 있습니다. 그래도 작동하기를 바랍니다! 위의 클래스를 아래와 같이 사용할 수 있습니다.

$student = XmlToJson::fromFile("/var/www/uploads/student.xml")->toJson();

또는 작곡가 패키지를 가져 와서 걱정없이 구현할 수 있습니다. 테스트를 거쳤을 것입니다.

markwilson / xml-to-json

답변

JSON 파일 형식을 처리하기 위해 Python은 JSON라는 모듈을 제공합니다.

STEP 1 : pip 또는 다른 Python 패키지 관리자를 사용하여 xmltodict 모듈을 설치합니다.

pip install xmltodict

2 단계 : import 키워드를 사용하여 json 모듈 가져 오기

import json

STEP 3 : 여기에서 xml 파일을 읽으십시오. “data\_dict”는 XML 데이터를 다음으로 변환 한 후로드 한 변수입니다. 사전 데이터 유형.

with open("xml\_file.xml") as xml\_file:

data\_dict = xmltodict.parse(xml\_file.read())

4 단계 : XML 파일 닫기

xml\_file.close()

5 단계 : xml\_data를 사전 및 변수 JSON 객체에 저장하고 중괄호 {}로 묶습니다. 키와 값 쌍으로 작성됩니다. json.loads ()는 문자열을 받아 json 객체를 반환합니다. json.dumps ()는 json 객체를 받아 문자열을 반환합니다. xml\_data를 입력 문자열로 사용하고 pyhon 객체를 생성하므로 json.dumps ()

json\_data = json.dumps(data\_dict)

여기서 json\_data는 생성 된 개체를 저장하는 데 사용되는 변수입니다.

6 단계 : 출력 파일에 json\_data 쓰기

with open("data.json", "w") as json\_file:

json\_file.write(json\_data)

7 단계 : 출력 파일 닫기

json\_file.close()

예 :

XML 파일 :

# Program to convert an xml

# file to json file

# import json module and xmltodict

# module provided by python

import json

import xmltodict

# open the input xml file and read

# data in form of python dictionary

# using xmltodict module

with open("test.xml") as xml\_file:

data\_dict = xmltodict.parse(xml\_file.read())

xml\_file.close()

# generate the object using json.dumps()

# corresponding to json data

json\_data = json.dumps(data\_dict)

# Write the json data to output

# json file

with open("data.json", "w") as json\_file:

json\_file.write(json\_data)

json\_file.close()

출력 :

흥미로운 새로운 것을 배우려면 확인해보세요.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다