以下示例使用php中的正则表达式,进行xml文件的读取。
1、xml文件内容,person.xml
复制代码 代码示例:
张映
男
28
tank
男
28
2、php处理文件,rexml.php
复制代码 代码示例:
/***
@ 使用正则表达式读取xml文件
@ Recoded By Androidyue
@ site www.jbxue.com
***/
$xml = "";
//只读模式打开所读取的文件
$f = fopen('person.xml', 'r');
//格式化获取读取的数据
while( $data = fread( $f, 4096 ) ) {
$xml .= $data;
}
//关闭一个已打开的文件指针
fclose( $f );
// 上面读取数据
preg_match_all( "//(.*?)//humans/>/s", $xml, $humans ); //匹配最外层标签里面的内容
//格式化数据
foreach( $humans[1] as $k=>$human ){
preg_match_all( "//(.*?)//name/>/", $human, $name ); //匹配出名字
preg_match_all( "//(.*?)//sex/>/", $human, $sex ); //匹配出性别
preg_match_all( "//(.*?)//old/>/", $human, $old ); //匹配出年龄
}
//处理结果数据
foreach($name[1] as $key=>$val){
echo $val." - ".$sex[$key][1]." - ".$old[$key][1]."
" ;
}
?>
注意:
两个文件的编码格式,请保持一致,最好都设成UTF8的字符集,以免出现莫名的错误。