不规则子节点的PHP SimpleXML显示
我有一个XML文件,其中包含不规则数量的子节点,希望显示问题和子节点。问题的显示是正确的,但我无法正确显示子节点不规则子节点的PHP SimpleXML显示,php,simplexml,Php,Simplexml,我有一个XML文件,其中包含不规则数量的子节点,希望显示问题和子节点。问题的显示是正确的,但我无法正确显示子节点 <Survey> <Question ID="1"> <QuestionText>Question Number 1</SurveyQuestionText> <AnswerText>Answer 1</SurveyAnswerText> <AnswerText>Ans
<Survey>
<Question ID="1">
<QuestionText>Question Number 1</SurveyQuestionText>
<AnswerText>Answer 1</SurveyAnswerText>
<AnswerText>Answer 2</SurveyAnswerText>
<AnswerText>Answer 3</SurveyAnswerText>
<AnswerText>Answer 4</SurveyAnswerText>
<AnswerText>Answer 5</SurveyAnswerText>
</Question>
<Question ID="2">
<QuestionText>Question Number 2</SurveyQuestionText>
<AnswerText>Answer 1</SurveyAnswerText>
<AnswerText>Answer 2</SurveyAnswerText>
<AnswerText>Answer 3</SurveyAnswerText>
</Question>
<Question ID="3">
<QuestionText>Question Number 3</SurveyQuestionText>
<AnswerText>Answer 1</SurveyAnswerText>
<AnswerText>Answer 2</SurveyAnswerText>
<AnswerText>Answer 3</SurveyAnswerText>
<AnswerText>Answer 4</SurveyAnswerText>
</Question>
</Survey>
以下是我到目前为止的输出:
1.) Question Number 1
count: 5
2.) Question Number 2
count: 3
3.) Question Number 3
count: 4
只需为答案添加第二个内部foreach:
foreach($xml->children() as $question) {
echo $x . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
//insert code for display AnswerText
foreach($question->AnswerText as $answers)
echo $answer;
$x++;
}
SimpleXML有大量非常有用的访问机制。例如,这里使用的迭代器
请在此处阅读所有内容:只需为答案添加第二个内部foreach:
foreach($xml->children() as $question) {
echo $x . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
//insert code for display AnswerText
foreach($question->AnswerText as $answers)
echo $answer;
$x++;
}
SimpleXML有大量非常有用的访问机制。例如,这里使用的迭代器
请在此处阅读所有内容:只需为答案添加第二个内部foreach:
foreach($xml->children() as $question) {
echo $x . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
//insert code for display AnswerText
foreach($question->AnswerText as $answers)
echo $answer;
$x++;
}
SimpleXML有大量非常有用的访问机制。例如,这里使用的迭代器
请在此处阅读所有内容:只需为答案添加第二个内部foreach:
foreach($xml->children() as $question) {
echo $x . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
//insert code for display AnswerText
foreach($question->AnswerText as $answers)
echo $answer;
$x++;
}
SimpleXML有大量非常有用的访问机制。例如,这里使用的迭代器
请在此处阅读所有内容:我不确定是否误解了这个问题,但要循环回答,您只需要为每个
循环嵌套一个foreach
循环:
$question_number = 1;
foreach($xml->children() as $question) {
echo $question_number . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
$answer_number = 1;
foreach ( $question->children() as $answer_text ) {
echo " " . $answer_number . ".)" . $answer_text . "\n";
$answer_number++;
}
$question_number++;
}
或者,如图所示,您可以循环使用特定名称的子项,因此发生的情况更为明显:
foreach ( $xml->Question as $question ) {
// ...
echo $question->QuestionText;
// ...
foreach ( $question->AnswerText as $answer_text ) {
// ...
echo $answer_text;
// ...
}
}
我不确定我是否误解了这个问题,但要循环回答,您只需要一个嵌套的foreach
循环:
$question_number = 1;
foreach($xml->children() as $question) {
echo $question_number . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
$answer_number = 1;
foreach ( $question->children() as $answer_text ) {
echo " " . $answer_number . ".)" . $answer_text . "\n";
$answer_number++;
}
$question_number++;
}
或者,如图所示,您可以循环使用特定名称的子项,因此发生的情况更为明显:
foreach ( $xml->Question as $question ) {
// ...
echo $question->QuestionText;
// ...
foreach ( $question->AnswerText as $answer_text ) {
// ...
echo $answer_text;
// ...
}
}
我不确定我是否误解了这个问题,但要循环回答,您只需要一个嵌套的foreach
循环:
$question_number = 1;
foreach($xml->children() as $question) {
echo $question_number . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
$answer_number = 1;
foreach ( $question->children() as $answer_text ) {
echo " " . $answer_number . ".)" . $answer_text . "\n";
$answer_number++;
}
$question_number++;
}
或者,如图所示,您可以循环使用特定名称的子项,因此发生的情况更为明显:
foreach ( $xml->Question as $question ) {
// ...
echo $question->QuestionText;
// ...
foreach ( $question->AnswerText as $answer_text ) {
// ...
echo $answer_text;
// ...
}
}
我不确定我是否误解了这个问题,但要循环回答,您只需要一个嵌套的foreach
循环:
$question_number = 1;
foreach($xml->children() as $question) {
echo $question_number . ".) " . $question->QuestionText . "\n";
$numAnswers = $question->AnswerText->count();
echo "count: " . $numAnswers . "\n";
$answer_number = 1;
foreach ( $question->children() as $answer_text ) {
echo " " . $answer_number . ".)" . $answer_text . "\n";
$answer_number++;
}
$question_number++;
}
或者,如图所示,您可以循环使用特定名称的子项,因此发生的情况更为明显:
foreach ( $xml->Question as $question ) {
// ...
echo $question->QuestionText;
// ...
foreach ( $question->AnswerText as $answer_text ) {
// ...
echo $answer_text;
// ...
}
}