我需要用php获取xml。我该怎么办呢?

时间:2010-03-02 04:35:41

标签: php xml

最好的方法是什么?

4 个答案:

答案 0 :(得分:2)

SimpleXMLPHP DOM都是不错的选择。

答案 1 :(得分:2)

使用SimpleXML。它将XML文档转换为一个对象,为XML提供结构化访问

要从存储在string中的XML文档创建SimpleXML对象,请将字符串传递给simplexml_load_string()。它返回一个SimpleXML对象。

作为一个例子考虑一下:

$channel =<<<_XML_
<channel>    
 <title>Example title</title>    
 <link>http://example.com/</link>    
 <description>Example desccription</description>    
</channel>    
_XML_;
// The XML that needs to be parsed

$xml = simplexml_load_string($channel); // create a SimpleXML object.

print "The $xml->title channel is available at $xml->link. ";

将打印:

The Example title is available at http://example.com/.

答案 2 :(得分:1)

您也可以使用以下程序创建SimpleXml对象。 使用SimpleXml对象,您可以访问xml标记。

的test.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<employee>

        <name> Shyam </name>
        <age> 20 </age>
        <place> Chennai </place>
</employee>

file.php

<?php
$xml = simplexml_load_file("test.xml");

echo $xml->getName() . "<br />";

foreach($xml->children() as $child)
          {
            echo $child->getName() . ": " . $child . "<br />";
          }
?>

答案 3 :(得分:0)

通过“获取XML”,您的意思是从远程源检索它,还是解析您已有的XML文本?

对于前者,要么使用PHP的内置功能来加载URL内容(通过file_get_contents或应用于URL的类似函数),要么使用像cURL这样的库(大多数PHP发行版都包含这个库)。

对于后者,像SimpleXML(也包括标准)这样的库可能非常有用。