您好我有一个简单的XML Feed,它以下面显示的格式返回数据
<Computers>
<results totalPages="18" currentPage="18" totalResults="88"/>
<computer id="1" name="IBM">
<computertype id="1" name="Windows"/>
</computer>
<computer id="94" name="Acer">
<computertype id="1" name="windows"/>
</computer>
<computer id="1533" name="selfbuild">
<computertype id="1" name="windows"/>
</computer>
</computers>
显示结果我使用以下
foreach($xml->computer as $computer){
echo $computer['name'];
我想要做的是将总页数,当前页面和总结果的结果输入到变量中,我遇到的问题是,当我尝试按如下方式编写它们时,它不会返回结果。
echo $results['totalPages'];
我认为这是因为foreach是在结果部分之后开始的,但是如果我尝试将它们写成如下所示,那么我什么也得不到。
foreach($xml->results as $results){
echo $results['totalPages'];
任何建议都将受到赞赏。
由于
答案 0 :(得分:0)
您正在尝试访问节点的属性。
使用SimpleXML这样做:
$xml = <<<XML
<Computers>
<results totalPages="18" currentPage="18" totalResults="88"/>
<computer id="1" name="IBM">
<computertype id="1" name="Windows"/>
</computer>
<computer id="94" name="Acer">
<computertype id="1" name="windows"/>
</computer>
<computer id="1533" name="selfbuild">
<computertype id="1" name="windows"/>
</computer>
</Computers>
XML;
$xml = simplexml_load_string($xml);
foreach($xml->results->attributes() as $a => $b) {
echo $a,'="',$b,"\"<br>";
}
其中输出以下内容:
totalPages =“18”
currentPage =“18”
totalResults =“88”
或直接访问每个属性:
echo $xml->results->attributes()->totalPages;