GetXMLNode ( XML ; XPath )
Rate this function: Average rating: 3.5 (8 votes) Discuss this Custom Function
Michael Wallace, Richard Carlton Consulting
http://www.rcconsulting.com
Navigate XML tree and return results using XPath type functionality (Nonrecursive)
Sample Input:
XMLfield is set to:
<class><student>Bill</student><student>Sue</student><class>
GetXMLNode ( XMLfield ; "/class[1]/student[1]" ) & "¶" &
GetXMLNode ( XMLfield ; "/class[1]/student[2]" ) |
|
Sample Output:
|
Description:
Navigate XML tree and return results using XPath type functionality.
Parameter Description
XML - vanilla xml imput without attributes
XPath - basic XPath like syntax consiting of a series of xml nodes formatted as follows:
/nodeName[instanceNumber]
Requires ExtractData ( XML ; Attribute ; Instance ) by Andy Knasinski of NRG Software which can be found at http://www.briandunning.com/cf/1
Thanks to Andy for the great base function!
This function is not recursive. It simply creates multiple nested instances of GetXMLData in a calculation string and then evaluates it to get the data.
*************
EXAMPLE USE
*************
XMLfield is set to:
<class>
<teacher>
<name>Kelly</name>
</teacher>
<students>
<student>
<name>Bill</name>
<age>15</age>
</student>
<student>
<name>Sue</name>
<age>16</age>
</student>
</students>
<class>
GetXMLNode ( XMLfield ; "/class[1]/teacher[1]/name[1]" ) & "¶" &
GetXMLNode ( XMLfield ; "/class[1]/students[1]/student[2]/age[1]" ) & "¶" &
GetXMLNode ( XMLfield ; "/class[1]/students[1]/student[1]" )
Will produce the following:
Kelly
16
<name>Bill</name><age>15</age>
Note: these functions are not guaranteed
or supported by BrianDunning.com. Please contact the individual
developer with any questions or problems.
This is my Custom Function and I want to
edit it
Discuss:Make a comment about this Custom Function (please try to keep it brief & to the point). Anyone can post:
|
Newest Custom Functions:
| 1. |
webviewer_button ( content; textCol; bgCol ) |
| |
(Wed, Mar 03, 11:18am) |
| 2. |
RemoveCommonValues ( Array ; ComparisonArray ) |
| |
(Wed, Feb 24, 9:39pm) |
| 3. |
DistanceGeoCoord ( Lat1deg ; Lat1mm ; Lat1ss ; Lon1deg ; Lon1mm ; Lon1ss ; Lat2deg ; Lat2mm ; Lat2ss ; Lon2deg ; Lon2mm ; Lon2ss ; U ; Version ) |
| |
(Wed, Feb 24, 2:20pm) |
| 4. |
fnGoogleLineChart ( chtitle ; xtitle ; ytitle ; xfield ; yfield ; color ) |
| |
(Tue, Feb 23, 1:30pm) |
| 5. |
StringConstruct ( text ; prefix ; suffix ; altText ) |
| |
(Fri, Feb 19, 10:57am) |
| 6. |
ShowValueCascade ( fields ; altText ) |
| |
(Fri, Feb 19, 10:44am) |
| 7. |
ShowValue ( text; altText ) |
| |
(Fri, Feb 19, 10:28am) |
| 8. |
timeFormat ( thetime ; leader ) |
| |
(Wed, Feb 17, 7:44pm) |
 |
|
Trailing section of example is incorrect, <class> should be </class>
Bruce Robertson, Redmond WA
February 16, 2009 1:49pm