我有一个需要在PHP中解析的XML文件。我当前正在使用simplexml_load_file来加载文件,如下所示:
$xml = simplexml_load_file('Project.xml');
在XML文件中有一个这样的结构:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project>
<name>Project 1</name>
<features>
<feature>Feature 1</feature>
<feature>Feature 2</feature>
<feature>Feature 3</feature>
<feature>Feature 4</feature>
</features>
</project>
我要做的是在<name>
内打印<feature>
内容以及每个<features>
元素。我不知道如何做到这一点,因为有超过1个名为<feature>
的元素。非常感谢任何帮助。
答案 0 :(得分:10)
打印文本,试试这个:
foreach($xml->features->feature as $key => $value)
{
echo $value;
}
答案 1 :(得分:1)
simplexml_load_file()返回一个对象。
使用var_dump($ xml)查看结构:
object(SimpleXMLElement)#1 (2) {
["name"]=>
string(9) "Project 1"
["features"]=>
object(SimpleXMLElement)#2 (1) {
["feature"]=>
array(4) {
[0]=>
string(9) "Feature 1"
[1]=>
string(9) "Feature 2"
[2]=>
string(9) "Feature 3"
[3]=>
string(9) "Feature 4"
}
}
}
所以这样的代码:
<?PHP
$xml = simplexml_load_file('test.xml');
echo $xml->name . "\n";
foreach($xml->features->feature as $f){
echo "\t$f\n";
}
将产生如下输出:
Project 1
Feature 1
Feature 2
Feature 3
Feature 4
我认为你或多或少都在追求这一点。
答案 2 :(得分:0)
你可以这样做:
foreach($xml->features->feature as $f) {
echo $f."\n";
}