这是我的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
实际上,您应该看看手册中的简单Exmamples部分,它有一些非常有见地的示例,在这里比我的解释更深入:
Basic SimpleXML usage
不管怎样,我希望答案是有帮助的。相关问题有:
How to use foreach with PHP & XML (simplexml)

关于php - foreach和simplexml,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12154689/

10-11 05:14