【发布时间】:2016-08-31 10:00:56
【问题描述】:
我有一个要通过 PHP 提取的 XML 提要,这是 XML:
<PhysicalCar>
<Car IDValue="fr">
<CarInformation>
...INFORMATION...
</CarInformation>
<CarModel IDValue="lx-red">
<Name>Luxurious Frodo - Red</Name>
</CarModel>
<CarModel IDValue="kx-blue">
<Name>Kajun Frodo - Blue</Name>
</CarModel>
<CarModel IDValue="bx-purple">
<Name>BMX Frodo - Purple</Name>
</CarModel>
</Car>
<Car IDValue="gk">
<CarInformation>
...INFORMATION...
</CarInformation>
<CarModel IDValue="jr-red">
<Name>Joyride Turbo - Red</Name>
</CarModel>
<CarModel IDValue="yy-blue">
<Name>Yellow Turbo - Blue</Name>
</CarModel>
<CarModel IDValue="qq-purple">
<Name>Quilting Turbo - Purple</Name>
</CarModel>
</Car>
...MORE CARS...
</PhysicalCar>
按照上面的 XML,大约有 50-100 个“汽车”。我正在尝试编写将传递一个值的 PHP 代码,例如“gk”并扫描具有相同 IDValue 的“汽车”。找到后,我想循环浏览每个“CarModel”并将它们回显出来。
例如,如果传入了“gk”,则输出如下:
JoyrideTurbo - 红色,黄色 Turbo - 蓝色,Quilting Turbo - 紫色。
这是我的 php 代码:
<?php
$passedinvalue = 'gk';
$xml = simplexml_load_file('myxml.xml')
or die("Cannot create object");
foreach ($xml->Car as $c) {
if ($c->IDVAlue = $passedinvalue) {
foreach ($c->CarModel as $cm) {
echo $cm->Name;
}
}
}
?>
处理这个 PHP 代码的正确方法是什么?
【问题讨论】:
标签: php xml xml-parsing