PHP如何读取XML格式文件-创新互联
这篇文章给大家分享的是有关PHP如何读取XML格式文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
为城厢等地区用户提供了全套网页设计制作服务,及城厢网站建设行业解决方案。主营业务为成都网站设计、成都做网站、城厢网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!具体如下:
books.xml文件:
Jack Herrington PHP Hacks O'Reilly Jack Herrington Podcasting Hacks O'Reilly
1.DOMDocument方法
load( 'books.xml' ); $books = $doc->getElementsByTagName( "book" ); foreach( $books as $book ) { $authors = $book->getElementsByTagName( "author" ); $author = $authors->item(0)->nodeValue; $publishers = $book->getElementsByTagName( "publisher" ); $publisher = $publishers->item(0)->nodeValue; $titles = $book->getElementsByTagName( "title" ); $title = $titles->item(0)->nodeValue; echo "$title - $author - $publisher\n"; echo "
"; } ?>
2.用 SAX 解析器读取 XML:
3.用正则表达式解析 XML:
(.*?)\<\/book\>/s", $xml, $bookblocks ); foreach( $bookblocks[1] as $block ) { preg_match_all( "/\(.*?)\<\/author\>/", $block, $author ); preg_match_all( "/\ (.*?)\<\/title\>/", $block, $title ); preg_match_all( "/\ (.*?)\<\/publisher\>/", $block, $publisher ); echo( $title[1][0]." - ".$author[1][0]." - ".$publisher[1][0]."\n" ); } ?>
4.解析XML到数组
简单的XML数据 "; $parser = xml_parser_create(); //创建解析器 xml_parse_into_struct($parser, $data, $values, $index); //解析到数组 xml_parser_free($parser); //释放资源 //显示数组结构 echo "\n索引数组\n"; print_r($index); echo "\n数据数组\n"; print_r($values); ?>
5.检查XML是否有效
"; //输出错误行,列及其错误信息 $error_line = xml_get_current_line_number($xml_parser); $error_row = xml_get_current_column_number($xml_parser); $error_string = xml_error_string(xml_get_error_code($xml_parser)); $message = sprintf("[第%d行,%d列]:%s", $error_line, $error_row, $error_string); echo $message; } else { echo "该XML文档是结构良好的。"; } //关闭XML解析器指针,释放资源 xml_parser_free($xml_parser); ?>
6.可用于精确的读取XML
test.xml
100 123456 20040605 153020 1 1 010 北京 010 北京 0 0 15933626501 8 5618常年供应苗木,品种有玉兰、黄叶杨等。联系人:张三,电话:1234567890。 100 9588
test.php:
-1) { try { //加载解析xml $xml = simplexml_load_string($file); if($xml) { //echo $this->result; //获取节点值 $CONNECT_ID = $xml->CONNECT_ID; $MO_MESSAGE_ID = $xml->MO_MESSAGE_ID; $RECEIVE_DATE = $xml->RECEIVE_DATE; $RECEIVE_TIME = $xml->RECEIVE_TIME; $GATEWAY_ID = $xml->GATEWAY_ID; $VALID = $xml->VALID; $CITY_CODE = $xml->CITY_CODE; $CITY_NAME = $xml->CITY_NAME; $STATE_CODE = $xml->CITY_CODE; $STATE_NAME = $xml->STATE_NAME; $TP_PID = $xml->TP_PID; $TP_UDHI = $xml->TP_UDHI; $MSISDN = $xml->MSISDN; $MESSAGE_TYPE = $xml->MESSAGE_TYPE; $MESSAGE = $xml->MESSAGE;//短信 $LONG_CODE = $xml->LONG_CODE; $SERVICE_CODE = $xml->SERVICE_CODE; preg_match("/(561)\d{1,2}/", $MESSAGE, $code); switch($code[0]) { case 5618 : $myData[message] = $MESSAGE; break; default : $myData[] = '没有短消息。'; break; } } else { echo "加载xml文件错误。"; } } catch(exception $e){ print_r($e); } } else { echo "没有该XML文件。"; } echo ""; print_r($myData); echo "
"; echo $myData[message]; ?>感谢各位的阅读!关于“PHP如何读取XML格式文件”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
本文名称:PHP如何读取XML格式文件-创新互联
新闻来源:http://scgulin.cn/article/pgpej.html