XML 내용을 파싱한 후 해당 배열 객체를 반환하며, 반환 유형은 매개변수 설정[array, JSON]을 통해 설정할 수 있습니다. 기본값: 배열
simplexml_load_string을 기반으로 하기 때문에 네임스페이스가 있는 XML을 구문 분석하는 데 그다지 좋지 않고 네임스페이스 내용이 손실됩니다. 위의 테스트에서 얻은 결론은 이 문제를 해결합니다.
这个可以满足一般的使用需求
- function toJSON()
- {
- require_once '../classes/XmlToArray.php';
- $XML=<<
- "-//Apache Software Foundation//DTD Struts 구성 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- < ;constant name="struts.objectFactory" value="spring"/>
-
- <패키지 이름="crm_employee" 확장= "struts-default" 네임스페이스="/emp">
-
- add.action
- /emp/add_suc.jsp
-
-
- /emp/list.jsp
-
-
- < ;result>delete.action
- /emp/delete_suc.jsp
-
-
- update.action
- /emp/edit_suc.jsp
-
-
- /emp/edit.jsp
-
- < !-- 여기에 작업 추가 -->
-
-
- XML;
-
- header("Content-type: text/html ; charset=utf-8") ;
- $xml_to_array = new XmlToArray();
- $xml_to_array->setXml($XML);
- // 当标签名与内置属性有冲突的时候可以自정의상关属성명, 一般其概况不需要设置
- //$xml_to_array->setAttributeAsName("attributeAsName")->setContentAsName("contentasName");
- $r = $xml_to_array->parseXml( true);
- print_r( $r ) ;
- }
- // 打印结果:
-
- {"struts":{"attributes":[],"content":"", "상수":{"속성":{"이름":"struts.objectFactory","값":"spring"},"content":""},"패키지":{"속성":{"이름" :"crm_employee","extends":"struts-default","namespace":"/emp"},"content":"","action":[{"attributes":{"name":"add" ,"class":"addBean","method":"add"},"content":"","result":[{"attributes":[],"content":"add.action"},{ "attributes":[],"content":"/emp/add_suc.jsp"}]},{"attributes":{"name":"list","class":"listBean","method":" list"},"content":"","result":{"attributes":[],"content":"/emp/list.jsp"}},{"attributes":{"name":"delete ","class":"deleteBean","method":"delete"},"content":"","result":{"attributes":[],"content":"/emp/delete_suc.jsp" }},{"속성":{"name":"update","class":"updateBean","method":"update"},"content":"","result":{"attributes": [],"content":"/emp/edit_suc.jsp"}},{"attributes":{"name":"edit","class":"editBean","method":"edit"}," content":"","result":{"attributes":[],"content":"/emp/edit.jsp"}}]}}}
- // 打印数组
- function toArray()
- {
- require_once '../classes/XmlToArray.php';
- $XML=<<< ;?xml version="1.0" 인코딩="UTF-8"?>
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <상수 name="struts.objectFactory" value="spring"/>
-
-
-
- add.action
- /emp/add_suc.jsp
-
-
- < ;result>/emp/list.jsp
-
-
-
- /emp/delete_suc.jsp
-
-
- update.action
- /emp/edit_suc.jsp
-
- < action name="edit" class="editBean" method="edit">
- /emp/edit.jsp
-
-
-
-
- XML;
-
- header("Content-type: text/html; charset=utf-8") ;
- $xml_to_array = new XmlToArray();
- $xml_to_array->setXml($XML);
- // 当标签名与内置属性有冲突的时候可以自정의상关属성명, 一般其概况不需要设置
- //$xml_to_array->setAttributeAsName("attributeAsName")->setContentAsName("contentasName");
- $r = $xml_to_array->parseXml( );
- print_r( $r ) ;
- }
- // 打印结果
-
- 배열
- (
- [struts] => 배열
- (
- [속성] => 배열
- (
- )
-
- [콘텐츠] =>
- [상수] => 배열
- (
- [속성] => 배열
- (
- [이름] => struts .objectFactory
- [값] => spring
- )
-
- [content] =>
- )
-
- [패키지] => 🎜> [속성] => 배열
- (
- [이름] => crm_employee
- [extends] => struts-default
- [네임스페이스] => /emp
- )
-
- [content] =>
- [action] => 배열
- (
- [0] => 배열
- (
- [속성] => 배열
- (
- [이름] => 추가
- [클래스] => addBean
- [메서드] => 추가
- )
-
- [내용] => ;
- [결과] => 배열
- (
- [0] => 배열
- (
- [속성] => 배열
- (
- )
-
- [내용] => 추가 .action
- )
-
- [1] => 배열
- (
- [속성] => 배열
- (
- )
-
- [내용] => /emp/add_suc.jsp
- )
-
- )
-
- )
-
- [1] => Array
- (
- [속성] => Array
- (
- [이름] => 목록
- [클래스] => listBean
- [메서드] => 목록
- )
-
- [내용] =>
- [결과] => 배열
- (
- [속성] => 배열
- (
- )
-
- [콘텐츠] => /emp/list.jsp
- )
-
- )
-
- [2] => Array
- (
- [속성] => Array
- (
- [이름] => 삭제
- [클래스] => deleteBean
- [메서드] => 삭제
- )
-
- [내용] =>
- [결과] => 배열
- (
- [속성] => 배열
- (
- )
-
- [콘텐츠] => /emp/delete_suc.jsp
- )
-
- )
-
- [3] => 배열
- (
- [속성] => 배열
- (
- [이름] => 업데이트
- [클래스] => updateBean
- [메서드] => 업데이트
- )
-
- [콘텐츠] =>
- [결과] => 배열
- (
- [속성] => 배열
- (
- )
-
- [content] => /emp/edit_suc.jsp
- )
-
- )
-
- [4] => Array
- (
- [속성] => Array
- (
- [이름] => edit
- [class] => editBean
- [메서드] => edit
- )
-
- [내용] =>
- [결과] => 배열
- (
- [속성] => 배열
- (
- )
-
- [콘텐츠] => /emp/edit.jsp
- )
-
- )
-
- )
-
- )
-
- )
-
- )
-
复代码
|