在以下xml文件“catalog”中,每个图书ID都有5个变量。
<?xml version="1.0"?>
<catalog>
<book id="bk101">
<author>Gambardella</author>
<title>XML Developer</title>
<genre>Computer</genre>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
</book>
<book id="bk102">
<author>Ralls</author>
<title>Midnight Rain</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-12-16</publish_date>
</book>
<book id="bk103">
<author>Corets</author>
<title>Maeve Ascendant</title>
<genre>Fantasy</genre>
<price>5.95</price>
<publish_date>2000-11-17</publish_date>
</book>
</catalog>
如何在php中获取特定Book id(即book id =“102”)的json数组。 我在网上搜索但是找不到所需方式的解决方案。 请问有谁能帮助我吗? xml文件: www.mywebsite.com/catlog.xml
$data = json_decode($json, true);
foreach ( $data['catlog'] as $row ) {
if ($row['book id'] =='102') {
// do the work here
}
}
答案 0 :(得分:0)
你实际上无法做到这一点。你可以做的更好的事情就是把它解析成simplexml然后遍历对象然后只要做一个计数器,如果特定对象已经具有&#34; 102&#34;
的属性答案 1 :(得分:0)
我建议调试一下,用print_r找出键值&#39; book id&#39;有没有。它也将在稍后帮助遍历JSON结构。
foreach ( $data['catalog'] as $row ) {
if ($row['book id'] == '102') {
// do the work
} else {
// for debugging
echo print_r($row, true);
}
}
我也注意到你拼错了目录... $ data [&#39; catlog&#39;]到$ data [&#39; catalog&#39;];