XML 또는 단순 XML 개체로 PHP의 배열로 변환

수업 ArrayToXML

{

/ **

* XML 문서로의 변환을위한 주요 기능.

* 다중 차원 배열에 전달하고이 recrusively 통해 루프 및 XML 문서를 만듭니다.

*

* @ PARAM 배열 $ data라는

* @ PARAM 문자열 $ rootNodeName - defaultsto 데이터 - 당신이 루트 노드가되고 싶은.

* @ PARAM의 SimpleXMLElement $ XML은 -에만 반복적으로 사용해야합니다
* @ 반환 문자열이 XML

* /

공공 정적 기능 toXml (= '데이터', $ XML = null이 $ data라는, $ rootNodeName)

{

만약, 그렇지 않다면 간단한 XML이 휘청를 throw로 / / 호환성 모드를 해제합니다.

IF (ini_get ( 'zend.ze1_compatibility_mode') == 1)

{

위해서는 ini_set ( 'zend.ze1_compatibility_mode', 0);

}

경우 ($ xml 형식 == NULL)

{

$ XML = simplexml_load_string ( "<XML 버전 = '1 0.0 '인코딩 ='UTF-8 '?> <$ rootNodeName />");

}

/ 데이터를 통해 / 루프 안으로 통과

foreach ($ 데이터로 $ 열쇠 => $ 값)

{

/ / 우리 xml 형식에는 숫자 키, 제발 없습니다!

IF (is_numeric ($ 키))

{

/ / 문자열 키를 만들 ...

$ 열쇠 = "unknownNode_". 키 (문자열) $;

}

/ / 아무것도 대체하지 알파 숫자

$ 열쇠 = preg_replace ( '/ [^ AZ] / i'를, ", $ 키);

/ / recrusively이 함수를 호출 나온 또 다른 배열이있다면

IF (is_array ($ 값))

{

$ 노드 = $ XML-> addChild ($ 키);

호출 / / recrusive.

ArrayToXML :: toXml ($ 값은 $ rootNodeName, $ 노드);

}

다른

{

/ / 단일 노드를 추가합니다.

$ 값 = 정보 htmlentities ($ 값);

$ XML-> addChild ($ 키, $ 값);

}

}

/ / 문자열로 다시 전달합니다. 또는 단순 XML 개체 당신이 원한다면!

$ 반환 XML을 -> asXML ();

}

}

당신은 수 응답을 떠나 , 또는 트랙백을 자신의 사이트에서.

회신을 남겨주

당신은해야 로그인 코멘트를 게시할 수 있습니다.