Presentation is loading. Please wait.

Presentation is loading. Please wait.

CG0119 Web Database Systems Using XPath to Navigate & Filter XML (via SimpleXML)‏

Similar presentations


Presentation on theme: "CG0119 Web Database Systems Using XPath to Navigate & Filter XML (via SimpleXML)‏"— Presentation transcript:

1 CG0119 Web Database Systems Using XPath to Navigate & Filter XML (via SimpleXML)‏

2 XPath What is it? –w3c standard for… Navigating through an XML document Filtering & finding information –Includes… Expressions for navigating to parts of an XML document The standard includes functions (e.g. for string & date manipulation)‏ Used in XSLT – we used some XPath path expressions last week…!!!

3 XPath Expressions What are they? –Path expressions are a means of selecting nodes (or sets of nodes) from an XML document –They consist of… A path to the nodes/node sets A predicate (optional)‏ Syntax –Without a predicate: Nodenames, separated by a forward slash (/)‏ –Predicates: Predicates are placed inside [ ]

4 Example xml document P283746 Anabela Domingues P 2004 M928493 Ann Devon U 2002... student.xml Root nodeChild of root node Children of student

5 Examples: XPath Expressions What would be the path expression to navigate to the startYear node? What would be the path expression to select the startYear node where the startYear = 2002? ‘/students/student/startYear’ ‘/students/student/startYear[. = “2002”]’ --- OR --- ‘/students/student[startYear = “2002”]/startYear’ www.w3schools.com/xpath/xpath_intro.asp has more details on & examples of path expressions

6 Example: Multiple Predicates What would be the path expression to select student nodes where the startYear = 2002 and the studyTypeIdD= U? '/students/student[startYear=2003][studyTypeID = "U"]' www.w3schools.com/xpath/xpath_intro.asp has more details on & examples of path expressions

7 XPath & simpleXML Example The aim of the example used in the following slides is to list data in a XHTML table for all students who started at University in 2002 e.g. Fiona Murray M828827 … … Ann Devon M928493 Name Student Code

8 XPath & simpleXML – PHP Code Steps involved in this example: 1.Create an instance of a simpleXML class by loading the XML file 2.Construct the query expression 3.Call the XPath method to execute the query 4.Loop through the result set

9 Steps 1 to 3: simpleXML & XPath Objects // Create a new simplexml instance loading xml file $studentsXML = simplexml_load_file('student.xml'); // Construct an XPath expression, // including a predicate in this instance. $qry = '/students/student[startYear = "2002"] '; // call the simplexml xpath method $students = $studentsXML->xpath($qry);

10 Step 4: Loop Through Query Result Set // iterate through the students returned by the xpath query foreach ($students as $student) { } echo " {$student->studentCode} \n"; echo " {$student->forename} "; echo "{$student->surname} \n"; echo " \n"; echo " {$student->studentCode} \n"; echo " {$student->forename} "; echo "{$student->surname} \n"; echo " \n"; echo " Student Code Name \n"; echo " \n";

11 Summary XPath is a w3c standard for –Navigating through an XML document –Filtering & finding information Path expressions navigate to a particular node or node-set and they may include predicates

12 Recommended Reading http://www.zvon.org/xxl/XPathTutorial/General/examples.html - Xpath tutorial http://www.rpbourret.com/xml/XPathIn5.htm - XPath in 5 paragraphs! http://www.w3schools.com/xpath/ - w3schools XPath tutorial & reference *


Download ppt "CG0119 Web Database Systems Using XPath to Navigate & Filter XML (via SimpleXML)‏"

Similar presentations


Ads by Google