請保持明在所有這裏閱讀很多「相關」的答案,並在使用谷歌之前來找你。滿足第一個孩子的PHP foreach停止
這是我在PHP中使用PHP代碼的第一手資料。
下面是XML文件(的test.xml)我看:
<quizReport xmlns="http://empty.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://empty.com" version="1">
<quizSettings quizType="graded" maxScore="460" maxNormalizedScore="100" timeLimit="0"><passingPercent>0.6</passingPercent></quizSettings>
<summary score="142" percent="0.3087" time="192"><variables><variable name="USER_NAME" title="Nom" value="test1457"/><variable name="USER_EMAIL" title="Courriel" value="[email protected]"/><variable name="DEPARTEMENT" title="Departement" value="Designers"/></variables></summary>
<questions>
<multipleChoiceQuestion id="{3BFC44A3-137B-496B-900D-E6908253C106}" status="correct" maxPoints="10" maxAttempts="1" awardedPoints="10" usedAttempts="1"><direction>Combien de temps cela prend-il, en moyenne, pour concevoir et produire une ouverture en 3D pour un bulletin d'actualités?
</direction><answers correctAnswerIndex="2" userAnswerIndex="2"><answer>6 jours
</answer><answer>24 jours
</answer><answer>6 semaines
</answer><answer>24 semaines
</answer></answers></multipleChoiceQuestion>
<multipleChoiceQuestion id="{2CEDBF79-0864-4E1A-954A-F7CA17989314}" status="correct" maxPoints="10" maxAttempts="1" awardedPoints="10" usedAttempts="1"><direction>Combien d'appels par heure sont traités par l'équipe du CCR et des moyens de production en période de pointe régulière (sans événements spéciaux)?
</direction><answers correctAnswerIndex="2" userAnswerIndex="2"><answer>Environ 15 appels par heure
</answer><answer>Environ 25 appels par heure
</answer><answer>Environ 35 appels par heure
</answer><answer>Environ 65 appels par heure
</answer></answers></multipleChoiceQuestion>
<multipleChoiceQuestion id="{71221928-8909-44BC-94B4-C0C011E297F7}" status="correct" maxPoints="10" maxAttempts="1" awardedPoints="10" usedAttempts="1"><direction>Avec qui les médiamans travaillent-ils de concert pour déterminer ce qui doit être conservé dans le système d'archivage?
</direction><answers correctAnswerIndex="0" userAnswerIndex="0"><answer>Les médiathécaires
</answer><answer>Les monteurs
</answer><answer>Les directeurs techniques
</answer><answer>Les chefs de pupitre
</answer></answers></multipleChoiceQuestion>
<multipleChoiceQuestion id="{C6CDB118-B4E0-4856-A7AB-69A35CEBBB44}" status="correct" maxPoints="10" maxAttempts="1" awardedPoints="10" usedAttempts="1"><direction>Quelle est la capacité du système de stockage robotisé sur lequel les médiamans envoient les archives du système Avid?
</direction><answers correctAnswerIndex="3" userAnswerIndex="3"><answer>500 Gigaoctets
</answer><answer>12 Téraoctects
</answer><answer>500 Téraoctects
</answer><answer>12 Pétaoctets
</answer></answers></multipleChoiceQuestion>
</questions>
</quizReport>
而且PHP代碼:
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$xml=simplexml_load_file("test.xml") or die("Error: Cannot create object");
foreach($xml->questions as $multipleChoiceQuestion) {
echo $multipleChoiceQuestion->multipleChoiceQuestion['id'];
echo "<br>";
}
?>
我的目標是讓所有ID的問題(後來把它們放在數據庫中)
foreach似乎只能看到xml文檔的第一個孩子(我沒有任何對結構的控制)並停下來。當我執行它時,我只會得到第一個問題ID。
我期待以下結果:
{3BFC44A3-137B-496B-900D-E6908253C106}
{2CEDBF79-0864-4E1A-954A-F7CA17989314}
{71221928-8909-44BC-94B4-C0C011E297F7}
{C6CDB118-B4E0-4856-A7AB-69A35CEBBB44}
我也得到:
{3BFC44A3-137B-496B-900D-E6908253C106}
我缺少什麼?
你有一些複製/粘貼的問題,因爲這不是[有效的XML(http://xmlvalidation.com/)。你錯過了一個關閉的'summary'標籤。請創建一個[MCVE](http://stackoverflow.com/help/mcve),以便我們能夠更好地爲您提供幫助。 –
對不起,由於某種原因,結束標記丟失。 我做了編輯。現在提供的代碼與我原來的代碼相比較。 – Clitorio