<Dept>
<Employee> John Smith </Employee>
<Employee> Jane Doe </Employee>
</Dept>
Name | Value | XPath | NodeID | NType |
---|---|---|---|---|
Employee | John Smith | /Dept/Employee[1] | 18276465 | 1 |
Employee | Jane Doe | /Dept/Employee[2] | 28376473 | 1 |
NType | Description |
---|---|
1 | Element |
2 | Attribute |
3 | Text |
4 | CDATA |
5 | Entity reference |
6 | Entity |
7 | Processing instruction |
8 | Comment |
9 | Root XML document |
; Retrieve all the elements in the tree.
entire_tree = XmlEvaluate(doc_id)
; get all the 'value' attributes.
att_table = XmlEvaluate(doc_id,'//@value')
; Build a DOM tree.
doc_id = XmlParse('chart.xml', /File)
; Changes the start location for XPATH query.
context_id = XmlSetContext(doc_id, Path='/Chart/CharTitle')
; Use the relative path to the Attribute node.
subtree = XmlEvaluate(doc_id, 'Attribute', $
Context_id=context_id)
doc_id = XmlParse('chart.xml', /File)
table = XmlEvaluate(doc_id, '//*')
FOR i=0L, N_ELEMENTS(table)-1 DO PRINT,table(i)
; Print all of the node information for an XML file.
; The following is the result of this query:
; { Chart /Chart 26395416 1}
; { ChartTitle /Chart/ChartTitle 26427072 1}
; { Attribute Line Chart /Chart/ChartTitle/Attribute[1] 26480152
; 1}
; { Attribute /Chart/ChartTitle/Attribute[2] 26480464 1}
; { Attribute /Chart/ChartTitle/Attribute[3] 26442656 1}
; { AxisXY /Chart/AxisXY 26443032 1}
; { Data /Chart/AxisXY/Data[1] 26443128 1}
; { Attribute /Chart/AxisXY/Data[1]/Attribute[1]
; 26470416 1}
; { Attribute /Chart/AxisXY/Data[1]/Attribute[2]
; 26470776 1}
; { Attribute /Chart/AxisXY/Data[1]/Attribute[3]
; 26471176 1}
; { Attribute /Chart/AxisXY/Data[1]/Attribute[4]
; 26480736 1}
; { Attribute /Chart/AxisXY/Data[1]/Attribute[5]
; 26481136 1}
; { Data /Chart/AxisXY/Data[2] 26481512 1}
; { Attribute /Chart/AxisXY/Data[2]/Attribute[1]
; 26481784 1}
; { Attribute /Chart/AxisXY/Data[2]/Attribute[2]
; 26482168 1}
; { Attribute /Chart/AxisXY/Data[2]/Attribute[3]
; 26482552 1}
; { Attribute /Chart/AxisXY/Data[2]/Attribute[4]
; 26482944 1}
; Print the attribute value for the first node named 'Data'.
attribute_node = XmlEvaluate(doc_id, '/Chart/AxisXY/Data[1]/@*')
PRINT, attribute_node.value
; PV-WAVE prints:
; {6,5,7,1}
; Print the attribute value for the second node named 'Data'.
attribute_node = XmlEvaluate(doc_id, '/Chart/AxisXY/Data[2]/@*')
PRINT, attribute_node.value
; PV-WAVE prints:
; {1,3,6,8}