如何在php中获取xml格式的数据

时间:2010-09-15 12:47:16

标签: php xml

我正在完成一项任务,因为我必须从我拥有的链接中获取数据。在该链接中,数据以xml格式显示。 如何使用php

获取数据

谢谢,

4 个答案:

答案 0 :(得分:1)

您可能想尝试PHP的XMLReader

答案 1 :(得分:1)

获取XML数据与其他任何数据都没有区别。您可以将file_get_contents用作:

$xml = file_get_contents($url); 

这会将整个XML放在字符串$xml中,稍后可以使用SimpleXML

来解析

答案 2 :(得分:1)

使用SimpleXML,这是你最好的选择。

$xml = simplexml_load_file('test.xml');

首先不需要使用file_get_contents,因为simplexml_load_file允许您使用完整的URL并下载文件进行处理:

$xml = simplexml_load_file('http://www.example.com/test.xml');

$ xml现在包含XML文件的对象。它应该很容易使用,您可以通过执行以下操作查看完整结构:

echo '<pre>'.print_r($xml, true).'</pre>';

考虑XML文件的格式非常重要。如果它使用名称空间,你将不得不做一些调整以使字段可访问,因为这些不会从关闭。

答案 3 :(得分:0)

您可以使用

示例:

$doc = new DOMDocument();
$doc->load('http://example.com/data.xml');
echo $doc->saveXML();

您必须在PHP.ini中启用allow_url_fopen才能加载远程文件。如果没有,您可以查看您的网络服务器上是否启用了cURL并将文件提取到变量中。一旦XML字符串在变量中,您就可以使用use DOMDocument::loadXML从字符串加载XML。

要从数据中获取元素,您可以使用XPath queries或其他DOM API函数,例如

foreach( $doc->getElementsById('title') as $node) {
    // do something with the $node
}

几乎任何使用DOM的常见用例都已在StackOverflow上得到解答。使用search function时,您应该没有问题。或者浏览some of my previous answers