Hello每个人都有一个xml文件,我在html表中使用simplexml库显示。我想通过使用元素值在文件中搜索记录。 这里是xml文件的内容。
<?xml version="1.0" encoding="ISO-8859-1"?>
<StudentsList>
<Student>
<student_id email="test@yahoo.com">18700</student_id>
<firstName>Jhon</firstName>
<lastName>Smith</lastName>
<address>Dragon Vally china</address>
</Student>
<Student>
<student_id email="LeeSin@gmail.com">18701</student_id>
<firstName>Lee</firstName>
<lastName>Sin</lastName>
<address>League Of Legend UK</address>
</Student>
</StuedntsList>
我现在正在使用php我能够找到指定的学生搜索名字或姓氏的值。但我不知道如何使用所有记录重置当前的html表并填充搜索值的结果。 我正在使用以下php代码进行搜索。
$firstName = "Lee";
$searched_stu_fName = $xml->xpath("//StudentsList/Student/firstName[contains(text(),'$firstName')]/parent::*");
if(count($searched_stu_fName) > 0) {
print_r ($searched_stu_fName);
echo "found Student";
}
print语句给出以下结果:
Array ( [0] => SimpleXMLElement Object ( [student_id] => 18701 [firstName] => Lee [lastName] => Sin [address] => League Of Legend UK ) )
现在我想立即重新加载带有此记录的html表我正在让所有学生都在xml文件中显示。
我只是需要一些想法或指导,感谢您提前提出的任何建议,并抱歉我的英语不好。 在PHP我正在使用这些代码行加载文件
$file = file_get_contents('student.xml');
$xml = simplexml_load_string($file);
在html中,我在表格中显示
<table>
<?php foreach($xml->Student as $student) :?>
<tr>
<td><?php echo $student->student_id.'('.$student->student_id['email'].')'; ?></td>
<td><?php echo $student->firstName; ?></td>
<td><?php echo $student->lastName; ?></td>
<td><?php echo $student->address; ?></td>
</tr>
<?php endforeach; ?>
</table>
答案 0 :(得分:0)
据我了解,当您打印所有学生时,它是一个物品列表,其中一个物业是学生。当你只想用过滤器打印一个学生时,它就是一系列学生对象。
这就是循环看起来像这样的原因:
{{1}}