知道PHP和XML的人吗?那请看看!
这是我的PHP代码:
<? $xml = simplexml_load_file("movies.xml");
foreach ($xml->movie as $movie){ ?>
<h2><? echo $movie->title ?></h2>
<p>Year: <? echo $movie->year ?></p>
<p>Categori: <? echo $movie->regions->region->categories->categorie ?></p>
<p>Country: <? echo $movie->countries->country ?></p>
<? } ?>
Run Code Online (Sandbox Code Playgroud)
这是mys XML文件:
<?xml version="1.0" encoding="UTF-8"?>
<movies>
<movie>
<title>A movie name</title>
<year>2010</year>
<regions>
<region>
<categories>
<categorie id="3">Animation</categorie>
<categorie id="5">Comedy</categorie>
<categorie id="9">Family</categorie>
</categories>
<countries>
<country id="123">USA</country>
</countries>
</region>
</regions>
</movie>
<movie>
<title>Little Fockers</title>
<year>2010</year>
<regions>
<region>
<categories>
<categorie id="5">Comedy</categorie>
</categories>
<countries>
<country id="123">USA</country>
</countries>
</region>
</regions>
</movie>
</movies>
Run Code Online (Sandbox Code Playgroud)
上面代码的结果是:
<h2>A movie name</h2>
<p>Year: 2010</p>
<p>Category: Animation</p>
<p>Country: USA</p>
<h2>Little Fockers</h2>
<p>Year: 2010</p>
<p>Category: Comedy</p>
<p>Country: USA</p>
Run Code Online (Sandbox Code Playgroud)
我希望它像这样(见第一部电影的类别):
<h2>A movie name</h2>
<p>Year: 2010</p>
<p>Category: Animation, Comedy, Family</p>
<p>Country: USA</p>
<h2>Little Fockers</h2>
<p>Year: 2010</p>
<p>Category: Comedy</p>
<p>Country: USA</p>
Run Code Online (Sandbox Code Playgroud)
注意:我也想知道如何在单词之间加上逗号,但在最后一个单词上没有逗号...
Jon*_*nah 26
试试这个.
<?php
$xml = simplexml_load_file("movies.xml");
foreach ($xml->movie as $movie) {
echo '<h2>' . $movie->title . '</h2>';
echo '<p>' . $movie->year . '</p>';
$categories = $movie->regions->region->categories->categorie;
while ($categorie = current($categories)) {
echo $categorie;
echo next($categories) ? ', ' : null;
}
echo '<p>' . $movie->countries->country . '</p>';
}
?>
Run Code Online (Sandbox Code Playgroud)
这是将 foreach 与 simplexmlElement 一起使用的方式:
$xml = simplexml_load_file("movies.xml");
foreach ($xml->children() as $children) {
echo $children->name;
}
Run Code Online (Sandbox Code Playgroud)
您还需要迭代categorie元素,就像迭代movies.
echo '<p>';
foreach($movie->regions->region->categories->categorie as $categorie){
echo $categorie . ', ';
}
echo '</p>';
Run Code Online (Sandbox Code Playgroud)
您可能还想修剪尾随,。
我的评论中提到的方法:
$categories = $movie->regions->region->categories->categorie;
while($category = current($categories)){
echo $category . next($categories) ? ', ' : '';
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71342 次 |
| 最近记录: |