У меня два URL.
http://www.labs.skanetrafiken.se/v2.2/GetStartEndPoint.xsd http://www.labs.skanetrafiken.se/v2.2/querypage.asp?inpPointFr=lund&inpPointTo=ystad
Как мне заставить эти два сотрудничать, чтобы я мог извлечь информацию через PHP?
Как извлечь всю информацию из XML-файла в объект или массив PHP.
Я просто ответил на свой вопрос с помощью этого кода:
/** * convert xml string to php array - useful to get a serializable value * * @param string $xmlstr * @return array * @author Adrien aka Gaarf */ function xmlstr_to_array($xmlstr) { $doc = new DOMDocument(); $doc->loadXML($xmlstr); return domnode_to_array($doc->documentElement); } function domnode_to_array($node) { $output = array(); switch ($node->nodeType) { case XML_CDATA_SECTION_NODE: case XML_TEXT_NODE: $output = trim($node->textContent); break; case XML_ELEMENT_NODE: for ($i=0, $m=$node->childNodes->length; $i<$m; $i++) { $child = $node->childNodes->item($i); $v = domnode_to_array($child); if(isset($child->tagName)) { $t = $child->tagName; if(!isset($output[$t])) { $output[$t] = array(); } $output[$t][] = $v; } elseif($v) { $output = (string) $v; } } if(is_array($output)) { if($node->attributes->length) { $a = array(); foreach($node->attributes as $attrName => $attrNode) { $a[$attrName] = (string) $attrNode->value; } $output['@attributes'] = $a; } foreach ($output as $t => $v) { if(is_array($v) && count($v)==1 && $t!='@attributes') { $output[$t] = $v[0]; } } } break; } return $output; } $xml = 'http://www.labs.skanetrafiken.se/v2.2/querypage.asp?inpPointFr=lund&inpPointTo=ystad'; $xmlstr = new SimpleXMLElement($xml, null, true); $array = xmlstr_to_array($xmlstr->asXML()); print_r($array);
Это возвращает массив с XML, с чем я хочу работать.