PHP XML ファイル解釈クラスのアプリケーション例_PHP チュートリアル

WBOY
リリース: 2016-07-13 10:18:42
オリジナル
881 人が閲覧しました

php XMLファイル解釈クラスの適用例

XMLParser.class.phpクラスファイルは以下の通りです:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

/**XMLファイル解析クラス

* 日付: 2013-02-01

* 著者: fdipzone

* バージョン: 1.0

*

* 機能:

* loadXmlFile($xmlfile) XMLファイルを読み込み、配列を出力します

* loadXmlString($xmlstring) は xmlstring を読み取り、配列を出力します

*/

クラス XMLParser{

/**XMLファイルを読む

* @param String $xmlfile

* @return 配列

*/

パブリック関数loadXmlFile($xmlfile){

// xmlfile コンテンツを取得します

$xmlstring = file_exists($xmlfile)? file_get_contents($xmlfile) : '';

// パーサー XML

list($flag, $data) = $this->parser($xmlstring);

$this->response($flag, $data) を返す

}

/**读取xmlstring

* @param String $xmlstring

* @return 配列

  */

パブリック関数loadXmlString($xmlstring){

// パーサー XML

list($flag, $data) = $this->parser($xmlstring);

$this->response($flag, $data) を返す

}

/**XMLコンテンツを説明する

* @param 文字列 $xmlstring

* @return 配列

*/

プライベート関数パーサー($xmlstring){

$flag = false

$data = 配列();

// XML 形式をチェックする

if($this->checkXmlFormat($xmlstring)){

$flag = true; 

// xml からオブジェクトへ

$data = simpleXML_load_string($xmlstring, 'SimpleXMLElement', LIBXML_NOCDATA); 

// オブジェクトを配列に変換する

$this->objectToArray($data); 

}

配列を返す($flag, $data); 

}

/**XML形式が正しいか確認してください

* @param 文字列 $xmlstring

* @return ブール値

*/

プライベート関数 checkXmlFormat($xmlstring){

if($xmlstring==''){

false を返します。 

}

$xml_parser_obj = xml_parser_create(); 

if(xml_parse_into_struct($xml_parser_obj, $xmlstring, $vals, $indexs)===1){// 1: 成功 0: 失敗

true を返します。 

}その他{

false を返します。 

}

}

/**オブジェクト转配列

* @param オブジェクト $object

* @return 配列

  */

プライベート関数 objectToArray(&$object){

$object = (配列)$object; 

foreach($object as $key => $value){

if($value==''){

$object[$key] = ""; 

}その他{

if(is_object($value) || is_array($value)){

$this->objectToArray($value); 

$object[$key] = $value; 

}

}

}

}

/**出力が返されます

* @param boolean $flag true:false

* @param Array $data 変換されたデータ

* @return 配列

*/

プライベート関数の応答($flag=false, $data=array()){

配列を返す($flag, $data); 

}

}

?>

デモサンプルプログラムは以下の通りです:

tru​​ehttp://www.bkjia.com/PHPjc/882704.html

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

「XMLParser.class.php」が必要です

$xmlfile = 'file.xml';

$xmlstring = '

1000ステータス>

<情報>

<結果>100

fdipzone

1性別>

28年齢>

';

エコー '
';
            <p>$xml_parser = 新しい XMLParser();
            </p>「応答xmlfilrn」をエコーし​​ます <p>
            </p>list($flag, $xmldata) = $xml_parser->loadXmlFile($xmlfile);
            <p>if($flag){ </p>
            <p> print_r($xmldata);
            </p>} <p>
            </p>エコー "応答 xmlstringrn";
            <p>list($flag, $xmldata) = $xml_parser->loadXmlString($xmlstring);
            </p>if($flag){ <p>
            </p> print_r($xmldata);
            <p>} </p>
            <p>エコー '
';

?>

http://www.bkjia.com/PHPjc/882704.html

www.bkjia.com
技術記事 PHPのXMLファイル解釈クラス適用例 XMLParser.class.phpクラスファイルは以下の通りです。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38...

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート