这是我的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/