/*
xml examples
written by Alex Chang (alexchang@post.harvard.edu) in 2010
*/
?>
$xml = new SimpleXMLElement(file_get_contents("xml_example.xml"));
?>
xml examples
Below are a few xml examples using xpath:
Displaying the xml file at "http://alexchang.me/cs75/example.xml":
print_r($xml); ?>
xpath('//student') will return all student elements:
$test = $xml->xpath('/school//student');
?>
print_r($test); ?>
Example 0: Using foreach: foreach($xml->students->student as $student):
foreach($xml->students->student as $student)
{
echo "Student " . $student->name . " has an ID # of " . $student["id"] . "
";
}
?>
Example 1: Getting every student with undergrad as their : $xml->xpath('//student[status="undergrad"]');"
$results1 = $xml->xpath('//student[status="undergrad"]'); ?>
print_r($results1); ?>
foreach($results1 as $results1)
{
echo $results1->name;
}
The above gets me:
foreach($results1 as $results1)
{
echo $results1->name;
echo "
";
}
?>
Example 2: Comparing value of an element: $xml->xpath('//student[gpa>3.0]');
$results2 = $xml->xpath('//student[gpa>3.0]'); ?>
print_r($results2); ?>
Example 3: Using the @ attribute to get all students in class of 2010:
$xml->xpath('//student[@class = "2010"]'); ?>
$results3 = $xml->xpath('//student[@class = "2010"]'); ?>
print_r($results3); ?>
Example 4: Using $variables as part of the xpath:
$PATH='student[gpa>3.0]';
$results4 = $xml->xpath("//students/$PATH");
$results4 =
$PATH='student[gpa>3.0]';
$results4 = $xml->xpath("//students/$PATH"); ?>
print_r($results4); ?>