>  기사  >  백엔드 개발  >  PHP에서 배열과 XML 간의 변환에 대한 자세한 설명

PHP에서 배열과 XML 간의 변환에 대한 자세한 설명

墨辰丷
墨辰丷원래의
2018-06-02 09:18:521380검색

이 글에서는 주로 PHP를 사용하여 배열과 XML 간의 변환을 처리하는 방법을 소개합니다. PHP의 XML을 배열로 변환하는 방법과 PHP의 배열을 XML로 변환하는 방법을 자세히 소개합니다.

개발 중에 있습니다. 특히 인터페이스 개발을 처리할 때 배열과 XML 간의 변환이 자주 발생합니다. 예를 들어 다른 클라이언트는 XML 형식의 데이터를 서버에 게시하고 서버의 프로그램은 이를 수신하는 역할도 합니다. 데이터 테이블 데이터를 XML 형식으로 타사 애플리케이션에 제공합니다.

PHP는 배열을 XML로 변환합니다
PHP는 배열을 xml 형식으로 변환한 다음 배열의 키/값을 xml 노드로 변환하고 출력을 직접 에코하는 것입니다. as:

function arrayToXml($arr){ 
$xml = "<root>"; 
foreach ($arr as $key=>$val){ 
if(is_array($val)){ 
$xml.="<".$key.">".arrayToXml($val)."</".$key.">"; 
}else{ 
$xml.="<".$key.">".$val."</".$key.">"; 
} 
} 
$xml.="</root>"; 
return $xml; 
}

테스트해 본 결과, 이것이 가장 간단하고 빠르며 대부분 배열을 지원하고 한자가 깨지지 않습니다.
또 다른 방법은 DOMDocument를 사용하여 xml 구조를 생성하는 것입니다.

function arrayToXml($arr,$dom=0,$item=0){ 
if (!$dom){ 
$dom = new DOMDocument("1.0"); 
} 
if(!$item){ 
$item = $dom->createElement("root"); 
$dom->appendChild($item); 
} 
foreach ($arr as $key=>$val){ 
$itemx = $dom->createElement(is_string($key)?$key:"item"); 
$item->appendChild($itemx); 
if (!is_array($val)){ 
$text = $dom->createTextNode($val); 
$itemx->appendChild($text); 

}else { 
arrayToXml($val,$dom,$itemx); 
} 
} 
return $dom->saveXML(); 
}

또한 배열을 xml로 변환할 수 있고 다차원 배열을 지원하며 생성된 xml 중국어는 왜곡되지 않습니다.

PHP는 XML을 배열로 변환합니다
인터페이스 개발을 하다 보면 다른 사람이 XML 형식으로 제출한 데이터를 자주 접하게 됩니다. 일반적인 WeChat 인터페이스, Alipay 인터페이스 등 메시지 보내기, 통신 등의 인터페이스는 모두 XML입니다. 형식을 지정하고 나면 먼저 이 xml 데이터를 가져오는 방법을 찾은 다음 이를 배열로 변환합니다.
다음과 같은 XML을 얻었다고 가정해 보겠습니다.

 <root> 

<user>

月光光abcd</user> 

<pvs>13002</pvs>

 <ips> 

<baidu_ip>1200</baidu_ip>

 <google_ip>1829</google_ip>

 </ips> 

<date>2016-06-01</date>

 </root>

simplexml_load_string() 구문 분석을 통해 xml 데이터를 읽은 다음 먼저 json 형식으로 변환한 다음 배열로 변환합니다.

 function xmlToArray($xml){ 

 //禁止引用外部xml实体 

libxml_disable_entity_loader(true); 

$xmlstring = simplexml_load_string($xml, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA); 

$val = json_decode(json_encode($xmlstring),true); 

return $val; 

}

다음 결과를 얻으려면 xmlToArray()를 호출하세요.


배열을 가져온 후 데이터에 대해 다양한 처리를 수행할 수 있습니다.

요약: 위 내용이 이 글의 전체 내용입니다. 모든 분들의 공부에 도움이 되었으면 좋겠습니다.

관련 권장사항:

php를 기반으로 WeChat 개발을 위한 매개변수화된 QR 코드 사용 구현

PHP를 사용하여 페이지에서 URL을 정기적으로 크롤링하는 방법

php+ jQuery +Ajax는 비동기 페이지 새로 고침 기능을 구현합니다

위 내용은 PHP에서 배열과 XML 간의 변환에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.