XmlSearch

Description

Uses an XPath language expression to search an XML document object.

Returns

An array of XML object nodes that match the search criteria.

Category

XML functions

Function syntax

XmlSearch(xmlDoc, xPathString)

See also

cfxml, IsXML, XmlChildPos, XmlParse, XmlTransform; Using XML and WDDX in ColdFusion MX Developer's Guide

History

ColdFusion MX 7: Added support for attribute searches.

ColdFusion MX: Added this function.

Parameters

Parameter Description

xmlDoc

XML document object

xPathString

XPath expression

Usage

The XmlSearch function does not support complete XPath syntax. It only supports XPath expressions that return one or more XML nodes and attribute searches. XPath expressions that return any other type of value, such as a string, number, or Boolean, generate errors.

XPath is specified by the World Wide Web Consortium (W3C). For detailed information on XPath, including XPath expression syntax, see the W3C website at www.w3.org/TR/xpath.

Example

The following example extracts the elements named last, which contain employee last names, from an XML file, and displays the names.

The employeesimple.xml file contains the following XML:

<?xml version="1.0" encoding="UTF-8"?>
<employee>
<!-- A list of employees -->
 <name EmpType="Regular">
  <first>Almanzo</first>
  <last>Wilder</last>
 </name>
 <name EmpType="Contract">
  <first>Laura</first>
  <last>Ingalls</last>
 </name>
</employee>

The CFML file contains the following lines:

<cfscript>
   myxmldoc = XmlParse("C:\CFusionMX7\wwwroot\examples\employeesimple.xml");
   selectedElements = XmlSearch(myxmldoc, "/employee/name/last");
   for (i = 1; i LTE ArrayLen(selectedElements); i = i + 1)
      writeoutput(selectedElements[i].XmlText & "<br>");
</cfscript>

View comments in LiveDocs