您好,欢迎访问一九零五行业门户网

PHP读取XML的几种方法

张映男28tank男28
复制代码
1)domdocument读取xml
load('person.xml'); //读取xml文件$humans = $doc->getelementsbytagname_r( humans ); //取得humans标签的对象数组foreach( $humans as $human ){$names = $human->getelementsbytagname_r( name ); //取得name的标签的对象数组$name = $names->item(0)->nodevalue; //取得node中的值,如$sexs = $human->getelementsbytagname_r( sex );$sex = $sexs->item(0)->nodevalue;$olds = $human->getelementsbytagname_r( old );$old = $olds->item(0)->nodevalue;echo $name - $sex - $old\n;}?>
复制代码
2)simplexml读取xml
name.-.$tmp->sex.-.$tmp->old.
;}?>
复制代码
3)用php正则表达式来记取数据
$human ){preg_match_all( /\(.*?)\/, $human, $name ); //匹配出名字preg_match_all( /\(.*?)\/, $human, $sex ); //匹配出性别preg_match_all( /\(.*?)\/, $human, $old ); //匹配出年龄}foreach($name[1] as $key=>$val){echo $val. - .$sex[$key][1]. - .$old[$key][1].
;}?>
复制代码
4)xmlreader来读取xml数据
open('person.xml'); //读取xml数据$i=1;while ($reader->read()) { //是否读取if ($reader->nodetype == xmlreader::text) { //判断node类型if($i%3){echo $reader->value; //取得node的值}else{echo $reader->value.
;}$i++;}}?>
复制代码
三,小结读取xml的方法很多,简单举几个。上面四种方法都是可以把标签中的数据读出来,张映.但是他们的测重点不同,前三种方法的读取xml的function的设计重点,是为了读取标签中的值,相当于jquery中的text()方法,而xmlreader呢他就不太一样,他的重点不在读取标签中的值,而读取标签的属性,把要传送的数据,都放在属性中(不过我上面写的那个方法还是取标签中的值,因为xml文件已经给定了,我就不想在搞xml文件出来了)。
举个例子解释一下,xmlreader的设计重点是为了读data里面的name sex old的值,而读取的内容就比较麻烦了。他相当于jquery中attr(”);这个东西。
其它类似信息

推荐信息