首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >解析从GET请求收到的XML

解析从GET请求收到的XML
EN

Stack Overflow用户
提问于 2011-05-31 20:43:41
回答 4查看 1.6K关注 0票数 1

作为学校项目的一部分,我正在打电话给学校的api。

方法:获取响应格式: Xml

现在,我使用curl发出web请求。

代码语言:javascript
运行
复制
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$url);

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

$data=curl_exec($ch);

curl_close($ch);

现在,如何解析xml输出以获得所需的数据?

我希望问题是清楚的

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-05-31 20:50:23

这取决于内容的确切性质,而且取决于其结构。

基本方法是使用DOMDocument (或者simplexml,我不喜欢它作为一种应用程序接口)解析文档,然后使用DOM遍历或XPath查找所需的内容。

示例如下所示:

代码语言:javascript
运行
复制
$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的结构以及您希望从中获得什么内容。

票数 2
EN

Stack Overflow用户

发布于 2011-05-31 20:48:49

使用SimpleXML

代码语言:javascript
运行
复制
$xml = simplexml_load_string($data); 
票数 1
EN

Stack Overflow用户

发布于 2011-05-31 20:49:57

看看SimpleXMLDOMDocumentXMLParserXPath。我通常更喜欢SimpleXML,但同样多的人,同样多的观点...

你会在这个PHP类的文档中找到很多例子。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6187743

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档