【发布时间】:2016-05-28 14:40:48
【问题描述】:
大家好,我有一个奇怪的问题(对我来说很奇怪)。我有一个 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>
</StudentsList>
当我在 php 中使用 xpath 搜索该文件时
$allStudents = $xml->xpath("//StudentsList/Student");
它给了我一个数组中的所有学生,他们的子节点和值如下:
Array ( [0] => SimpleXMLElement Object ( [student_id] => 18700 [firstName] => Jhon [lastName] => Smith [address] => Dragon Vally china ) [1] => SimpleXMLElement Object ( [student_id] => 18701 [firstName] => Lee [lastName] => Sin [address] => League Of Legend UK ) [2] => SimpleXMLElement Object ( [student_id] => 18702 [firstName] => Xin [lastName] => Xaho [address] => Shanghi China ) [3] => SimpleXMLElement Object ( [student_id] => 18703 [firstName] => corki [lastName] => adc [address] => flying machine gun china ) [4] => SimpleXMLElement Object ( [student_id] => 18704 [firstName] => Kog [lastName] => Maw [address] => Depth of The Hell ) )
但由于我有一个 student_id 节点的属性,所以我也想获得该属性的值,任何人都可以建议我为此做些什么,我用谷歌搜索了很多,但没有找到正确的答案。他们给出了通过属性值选择父母的例子,但至少我没有找到用整个学生节点选择它的人。
【问题讨论】:
标签: xml xpath xml-parsing