php – foreach和simplexml

这是我的xml文件

<?xml version="1.0" encoding="utf-8" ?> 
<documentElement>
    <rows>
        <row>
            <column>1</column>
            <column>David</column>
            <column>Johnson</column>
        </row>
        <row>
            <column>2</column>
            <column>Jack</column>
            <column>Nixon</column>
        </row>
    </rows>
</documentElement>

我想循环遍历行并将它们添加到数组中.我将它传递给simplexml然后循环遍历这些对象,但是无法做到:

$xml->rows
$xml->rows->row
$xml->row
$xml->column

我该怎么办?

谢谢.

解决方法:

这实际上是一个更基本的例子:

$sxml = simplexml_load_string($xml);

foreach($sxml->rows->row as $name => $row)
{
    echo $name, ': ', var_dump($row);
}

这会给你以下输出

row: object(SimpleXMLElement)#3 (1) {
  ["column"]=>
  array(3) {
    [0]=>
    string(1) "1"
    [1]=>
    string(5) "David"
    [2]=>
    string(7) "Johnson"
  }
}
row: object(SimpleXMLElement)#5 (1) {
  ["column"]=>
  array(3) {
    [0]=>
    string(1) "2"
    [1]=>
    string(4) "Jack"
    [2]=>
    string(5) "Nixon"
  }

你可以在这里找到一个在线演示:http://codepad.org/CYyQhvnM

您应该看一下手册中的简单示例部分,它有一些非常有见地的示例,这些示例在本文中的解释比我的更深入:

> Basic SimpleXML usage

无论如何,我希望答案是有帮助的.相关问题是:

> How to use foreach with PHP & XML (simplexml)

相关文章

php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念