麻辣堂|资源主站|开发论坛|在线手册
首页 Apache Linux Java MySQL 注册帮助 
PHP项目开发组是PHP开发资源网于2007组年建成立的项目开发团队,目前核心开发成员有27人, 项目协作成员8名.下设7个开发组,主要承接大/中型网站项目开发任务。

    由于开发任务较多,人员比较紧张,现面向社会招聘全职或者兼职开发人员,不管你是在校大学生,还是全职开发人员,以及SOHO都可以联系本站,我们可以长期合作,并为您带来丰厚的报酬。
  您现在的位置:PHP开发资源网 > 麻辣堂 > 详细资料
待解决
求助.如何用php解析如下的xml
悬赏分:20 - 2007年08月15日

如果xml语言是 1234 12345678 就能解析. 下面是class文件 <? class xml { var $webmethod; var $cpcode; var $userid; var $encryptflag; var $ispack; var $sub_type; var $orderdate; var $disorderdate; var $parser; var $tag; var $attributes; function xml() { $this->webmethod=0; $this->cpcode=""; $this->userid=""; $this->encryptflag=""; $this->ispack=""; $this->sub_type=""; $this->orderdate=""; $this->disorderdate=""; $this->parser = xml_parser_create(); xml_set_object($this->parser, &$this); xml_set_element_handler($this->parser, "tag_open", "tag_close"); xml_set_character_data_handler($this->parser, "cdata"); } function parse($data) { xml_parse($this->parser, $data); } function tag_open($parser, $temp_tag, $attributes) { $this->tag = $temp_tag; $this->attributes=$attributes; } function tag_close($parser, $temp_tag) { $this->tag = NULL; } function cdata($parser, $cdata) { if(strcmp($this->tag, "CPCODE") == 0) { $this->cpcode = $cdata; echo "cpcode:".$this->cpcode."
"; } if(strcmp($this->tag, "USERID") == 0) { $this->userid = $cdata; echo "userid:".$this->userid."
"; } if(strcmp($this->tag, "ENCRYPTFLAG") == 0) { $this->encryptflag = $cdata; echo "encryptflag:".$this->encryptflag."
"; } if(strcmp($this->tag, "ISPACK") == 0) { $this->ispack = $cdata; echo "ispack:".$this->ispack."
"; } if(strcmp($this->tag, "SUB_TYPE") == 0) { $this->sub_type = $cdata; echo "sub_type:".$this->sub_type."

"; } if(strcmp($this->tag, "ORDERDATE") == 0) { $this->orderdate = $cdata; echo "orderdate:".$this->orderdate."
"; } if(strcmp($this->tag, "DISORDERDATE") == 0) { $this->disorderdate = $cdata; echo "disorderdate:".$this->disorderdate."
"; } } } ?> 运行文件是 <? $file="data2.xml"; if (!($fp = fopen($file, "r"))) { die("could not open XML input"); } $xmlstr = fread($fp, 4096); $xml_parser = new xml(); $xml_parser->parse($xmlstr); $cpcode=$xml_parser->cpcode; $userid=$xml_parser->userid; $encryptflag=$xml_parser->encryptflag; $ispack=$xml_parser->ispack; $sub_type=$xml_parser->sub_type; $orderdate=$xml_parser->orderdate; $disorderdate=$xml_parser->disorderdate; echo "encryptflag:".$encryptflag; echo "cpcode:".$cpcode; ?> 请高手帮忙

提问者:yhq258   08-15 17:05
答复
路过。。。顺便帮顶:)
回答者:玉米づ冰冻可乐 - 瓦岗村民 8-22 09:10
我也来回答:
不管你有没有帮助我们,瓦岗寨8万村民将感谢你。。。。。

为防止灌水,您需要计算一道数学题: 答案:
94 + 23 = ? 请将计算结果填在上面

 
[]
©2007 PhpRes.COM