php语言 百分网手机站

php操作xml的各种方法解析(2)

时间:2020-11-15 08:37:11 php语言

php操作xml的各种方法解析

  )

  )

  )

  )

  [1] => SimpleXMLElement Object

  (

  [name] => testing center

  [employees] => SimpleXMLElement Object

  (

  [employee] => SimpleXMLElement Object

  (

  [serial_no] => 110001

  [name] => Helen

  [age] => 23

  [birthday] => 1983-07-21

  [salary] => 5000.00

  [bonus] => 1000.00

  )

  )

  )

  )

  )

  从输出结果可以看出,SimpleXML对象的结构与 XML数据的格式完全相同。

  第二种方法是使用 simplexml_load_flie函数读取一个 XML文件来完成创建的,其语法格式如下所示。

  simplexml_load_file(string filename)

  这里的 filename变量是用于存储 XML数据文件的文件名及其所在路径。以下代码使用 simplexml_load_file函数来创建了一个 SimpleXML对象。

  复制代码 代码如下:

  <?php

  $xml = simplexml_load_file('example.xml'); //创建 SimpleXML对象

  print_r($xml); //输出 XML

  ?>

  其中,example.xml存储的数据与上面的$data完全相同,运行结果也与上面完全相同。

  上面两种方法实现了同样的功能,其区别就在于 XML的数据源不同。如果 XML的数据源在 PHP脚本文件中,则需要使用 simplexml_load_string来进行创建。如果 XML的数据源在一个单独的 XML文件中,则需要使用 simplexml_load_file来进行创建。

  2.2 读取 SimpleXML对象中的 XML数据

  前面介绍了使用 print_r函数来读取 SimpleXML对象中的数据,其返回结果与数组的结构类似。显然,这种显示方式在实际应用中是不可取的。在这里将介绍其他的几种读取 SimpleXML对象中 XML数据的方法。

  1.var_dump函数显示对象详细信息

  var_dump函数可以用于显示 SimpleXML对象的详细信息,与 print_r函数相比,var_dump函数显示的信息更为完整,其语法如下所示。

  void var_dump(object1, object2 … )

  以下代码使用 var_dump函数输出了上面例子中对象的详细信息。

  复制代码 代码如下:

  <?php $xml = simplexml_load_file('example.xml'); //创建 SimpleXML对象 var_dump($xml); //输出 XML ?>

  运行结果如下所示。

  复制代码 代码如下:

  object(SimpleXMLElement)#1 (1) { ["depart"]=> array(2) {

  [0]=>

  object(SimpleXMLElement)#2 (2) {

  ["name"]=>

  string(18) “production support”

  ["employees"]=>

  object(SimpleXMLElement)#4 (1) {

  ["employee"]=>

  array(2) {

  [0]=>

  object(SimpleXMLElement)#5 (6) {

  ["serial_no"]=>

  string(6) “100001″

  ["name"]=>

  string(5) “Simon”

  ["age"]=>

  string(2) “24″

  ["birthday"]=>

  string(10) “1982-11-06″

  ["salary"]=>

  string(7) “5000.00″

  ["bonus"]=>

  string(7) “1000.00″

  }

  [1]=>

  object(SimpleXMLElement)#6 (6) {

  ["serial_no"]=>

  string(6) “100002″

  ["name"]=>

  string(6) “Elaine”

  ["age"]=>

  string(2) “24″

  ["birthday"]=>

  string(10) “1982-01-01″

  ["salary"]=>

  string(7) “6000.00″

  ["bonus"]=>

  string(7) “2000.00″

  }

  }

  }

  }

  [1]=>

  object(SimpleXMLElement)#3 (2) {

  ["name"]=>

  string(14) “testing center”

  ["employees"]=>

  object(SimpleXMLElement)#7 (1) {

  ["employee"]=>

  object(SimpleXMLElement)#8 (6) {

  ["serial_no"]=>

  string(6) “110001″

  ["name"]=>

  string(5) “Helen”

  ["age"]=>

  string(2) “23″

  ["birthday"]=>

  string(10) “1983-07-21″

  ["salary"]=>

  string(7) “5000.00″

  ["bonus"]=>

  string(7) “1000.00″

  }}}}}

  与前面 print_r输出的结果相比较,var_dump函数的输出结果的结构更为严谨,并且将对象中的每一个属性的数据类型均作出分析。在实际应用中,var_dump函数往往用于程序调试时的对象检测。

  2.读取 XML数据中的标签

  与操作数组类型的变量类似,读取 XML也可以通过类似的方法来完成。例如,如果需要读取上面 XML数据中每一个“ depart”标签下的“name”属性,可以通过使用 foreach函数来完成,如以下代码

  所示。

  复制代码 代码如下:

  <?php $xml = simplexml_load_file('example.xml'); foreach($xml->depart as $a)

  {

  echo “$a->name <BR>”;

  }

  ?>

  运行结果如下所示。

【php操作xml的各种方法解析】相关文章:

1.php数组操作方法

2.PHP常用MySql操作方法

3.php各种应用乱码问题的解决方法

4.php操作mysql步骤

5.PHP文件怎么操作

6.java读取解析xml文件实例

7.PHP常用的文件操作函数

8.PHP网络操作函数讲解

9.PHP操如何操作mysql