XML コンテンツを解析した後、対応する配列オブジェクトが返され、戻り値の型はパラメーター設定 [配列、JSON] によって設定できます。デフォルト: 配列
simplexml_load_string に基づいているため、名前空間を含む XML の解析があまり得意ではなく、名前空間の内容が失われます。 上記はテストで得られた結論であり、以降のバージョンではこの問題が解決されます。
これは一般的な使用要件を満たすことができます
- 関数 toJSON()
- {
- require_once '../classes/XmlToArray.php';
- $XML=<<&XML
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd"> ;
-
-
-
-
- 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
-
-
-
- struts>
-
- 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":"","constant":{"attributes":{"name":"struts.objectFactory", "value":"spring"},"content":""},"package":{"attributes":{"name":"crm_employee","extends":"struts-default","namespace":" /emp"},"コンテンツ":"","アクション":[{"属性":{"名前":"追加","クラス":"addBean","メソッド":"追加"},"コンテンツ":"","result":[{"attributes":[],"content":"add.action"},{"attributes":[],"content":"/emp/add_suc.jsp"} ]},{"属性":{"名前":"リスト","クラス":"リストBean","メソッド":"リスト"},"コンテンツ":"","結果":{"属性": [],"コンテンツ":"/emp/list.jsp"}},{"属性":{"名前":"削除","クラス":"deleteBean","メソッド":"削除"}," content":"","result":{"attributes":[],"content":"/emp/delete_suc.jsp"}},{"attributes":{"name":"update","class" :"updateBean","メソッド":"更新"},"コンテンツ":"","結果":{"属性":[],"コンテンツ":"/emp/edit_suc.jsp"}},{"属性":{"名前":"編集","クラス":"editBean","メソッド":"編集"},"コンテンツ":"","結果":{"属性":[],"コンテンツ":"/emp/edit.jsp"}}]}}}
- // 打印数组
- function toArray()
- {
- require_once '../classes/XmlToArray.php';
- $XML=<<
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd ">
-
-
- <パッケージ名="crm_employee" extends="struts-default" namespace="/emp">
- <アクション名="add" class="addBean" メソッド=" add">
- add.action
- /emp/add_suc.jsp
-
-
- /emp/list.jsp
-
-
- delete.action
- /emp/delete_suc.jsp
-
-
- update.action
- /emp/edit_suc.jsp
-
-
- /emp/edit.jsp
-
-
-
- < ;/struts>
-
- 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 ) ;
- }
- // 打印结果
-
- Array
- (
- [struts] =>Array
- (
- [attributes] =>Array
- (
- )
-
- [content] =>gt;
- [constant] => Array
- (
- [属性] => 配列
- (
- [名前] => struts.objectFactory
- [値] => spring
- )
-
- [内容] =>
- )
-
- [パッケージ] => 配列
- (
- [属性] => 配列
- (
- [名前] => crm_employee
- [拡張] => struts-default
- [名前空間] => /emp
- )
-
- [内容] =>
- [アクション] => 配列
- (
- [0] => 配列
- (
- [属性] => Array
- (
- [名前] => add
- [クラス] => addBean
- [メソッド] => add
- )
-
- [内容] =>
- [結果] =>配列
- (
- [0] => 配列
- (
- [属性] => 配列
- (
- )
-
- [コンテンツ] => add.action
- )
-
- [1] => 配列
- (
- [属性] => 配列
- (
- )
-
- [内容] => /emp/add_suc.jsp
- )
-
- )
-
- )
-
- [1] => Array
- (
- [属性] => Array
- (
- [名前] => list
- [クラス] => listBean
- [メソッド] => list
- )
-
- [内容] =>
- [結果] => 配列
- (
- [属性] => 配列
- (
- )
-
- [内容] => /emp/list.jsp
- )
-
- )
-
- [2] => Array
- (
- [属性] => Array
- (
- [名前] => delete
- [クラス] => deleteBean
- [メソッド] => delete
- )
-
- [内容] =>
- [結果] => 配列
- (
- [属性] => 配列
- (
- )
-
- [内容] => /emp/delete_suc.jsp
- )
-
- )
-
- [3] =>配列
- (
- [属性] => 配列
- (
- [名前] =>更新
- [クラス] => updateBean
- [メソッド] =>更新
- )
-
- [内容] =>
- [結果] =>配列
- (
- [属性] => 配列
- (
- )
-
- [内容] => /emp/edit_suc.jsp
- )
-
- )
-
- [4] => Array
- (
- [属性] => Array
- (
- [名前] => edit
- [クラス] => editBean
- [メソッド] => edit
- )
-
- [内容] =>
- [結果] => 配列
- (
- [属性] => 配列
- (
- )
-
- [内容] => /emp/edit.jsp
- )
-
- )
-
- )
-
- )
-
- )
-
- )
-
复制代
|