| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <?php
- function getValue($value,$CutXml)
- {
- $key = $value;
- if (strpos($value, "-")) $value = substr($value, 0, strpos($value, "-"));
- $str1 = "<".$value;
- $str2 = "</".$value;
- $start_pos = strpos($CutXml, $str1);
- if ($start_pos > 0){
- $start_pos += strlen($str1);
- $CutXml = substr($CutXml, $start_pos);
- $end_pos = strpos($CutXml, $str2);
- $resValue = substr($CutXml, strpos($CutXml,">")+1, $end_pos-strpos($CutXml,">")-1);
- }
- return $resValue;
- }
- function parseMol($mvalues,$mretype=0)
- {
- if($mvalues[0]["type"]=="open")
- {
- for ($i=1; $i < count($mvalues); $i++)
- {
- $key=$mvalues[$i]["tag"];
- if(!$mretype)$mol[$key][] = $mvalues[$i]["value"];
- else{
- $arr["value"] = $mvalues[$i]["value"];
- if(isset($mvalues[$i]["attributes"]))
- $arr["attributes"] = $mvalues[$i]["attributes"];
- $mol[$key][] = $arr;
- }
- }
- }
- return $mol;
- }
- function XMLtoArray($values,$tags,$item,$parsetype=0)
- {
- foreach ($tags as $key=>$val)
- {
- if($key == $item)
- {
- $molranges = $val;
- $offset = $molranges[0];
- $len = $molranges[1] - $offset;
- $data=parseMol(array_slice($values, $offset, $len),$parsetype);
- }
- }
- return $data;
- }
- function XMLgetValue($values,$tags,$item)
- {
- foreach ($tags as $key=>$molranges)
- {
- if($key == $item)
- {
- for($i=0;$i<$num;$i++)
- $data[]=$values[$molranges[$i]]["value"];
- }
- }
- return $data;
- }
- function toArray($xml,$content="response"){
- $parser = xml_parser_create();
- xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0);
- xml_parser_set_option($parser,XML_OPTION_SKIP_WHITE,1);
- xml_parse_into_struct($parser,$xml,$values,$tags);
- xml_parser_free($parser);
- $dbxml=XMLtoArray($values,$tags,$content);
- return $dbxml;
- }
- ?>
|