作为学校项目的一部分,我正在打电话给学校的api。
方法:获取响应格式: Xml
现在,我使用curl发出web请求。
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$data=curl_exec($ch);
curl_close($ch);现在,如何解析xml输出以获得所需的数据?
我希望问题是清楚的
发布于 2011-05-31 20:50:23
这取决于内容的确切性质,而且取决于其结构。
基本方法是使用DOMDocument (或者simplexml,我不喜欢它作为一种应用程序接口)解析文档,然后使用DOM遍历或XPath查找所需的内容。
示例如下所示:
$dom = new DOMDocument;
$dom->loadXML($data); // data from cURL request
$xpath = new DOMXPath($dom);
$names = $xpath->query('//student/name'); // find all name elements that are direct children of student elements
foreach ($names as $name) {
echo $name->nodeValue;
}您想要的确切代码取决于XML的结构以及您希望从中获得什么内容。
发布于 2011-05-31 20:48:49
使用SimpleXML
$xml = simplexml_load_string($data); 发布于 2011-05-31 20:49:57
看看SimpleXML,DOMDocument,XMLParser和XPath。我通常更喜欢SimpleXML,但同样多的人,同样多的观点...
你会在这个PHP类的文档中找到很多例子。
https://stackoverflow.com/questions/6187743
复制相似问题