Voilà je t'ai concocté un début de solution, c'est une fonction qui te renvoie le nom des éléments différents du filtre, après il te reste a supprimer les éléments du xml, tu disposes de leurs noms :
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
[ Lien ]">
<html xmlns="
[ Lien ]">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Renvoi une structure des éléments d'un XML différents du filtre</title>
</head>
<body>
<cffunction name="getRootElement" access="public" returntype="string" hint="Given a complete XML object, returns the root element object.">
<cfargument name="passedXMLElement">
<cfif isXMLRoot( evaluate( 'arguments.passedXMLElement.#structKeyList( arguments.passedXMLElement )#' ) )>
<cfreturn evaluate( 'arguments.passedXMLElement.#structKeyList( arguments.passedXMLElement )#' )>
</cfif>
</cffunction>
<!--Renvoi une structure des éléments d'un XML différents du filtre-->
<cffunction name="recurseXMLObject" access="public" returntype="struct" hint="Renvoi une structure des éléments différents du filtre.">
<cfargument name="passedXMLElement">
<cfargument name="elementNameFilterList" required="yes">
<cfparam name="resultStruct" default="#StructNew()#">
<cfset strElement = ""/>
<cfif isDefined( 'passedXMLElement.xmlName' )>
<cfif ( not listFindNoCase( arguments.elementNameFilterList, arguments.passedXMLElement.xmlName ) )>
<cfset strElement = arguments.passedXMLElement.xmlName />
<cfset StructInsert(resultStruct, strElement, strElement, True)/>
</cfif>
</cfif>
<cfif isDefined( "passedXMLElement.xmlChildren" ) and isArray( passedXMLElement.xmlChildren ) and arrayLen( passedXMLElement.xmlChildren )>
<cfset passedXMLElementChildCount = arrayLen( passedXMLElement.xmlChildren )>
<cfloop index="thisChildElement" from="1" to="#passedXMLElementChildCount#">
<cfset recurseXMLObject( passedXMLElement.xmlChildren[thisChildElement], arguments.elementNameFilterList )>
</cfloop>
</cfif>
<cfreturn resultStruct>
</cffunction>
<cfxml variable="myXML">
<segs>
<prop id="1">
<head>Hayden Panettiere</head>
<body>Blonde</body>
</prop>
<prop id="2">
<head>Christina Cox</head>
<body>Blonde</body>
</prop>
<prop id="3">
<head>Winona Ryder</head>
<body>Brunette</body>
</prop>
<prop id="4">
<head>Minnie Driver</head>
<body>Brunette</body>
</prop>
<prop id="5">
<head>Julia Stiles</head>
<body>Blonde</body>
<test>Brunette</test>
</prop>
</segs>
</cfxml>
<cfdump var="#myXML#" label="myXML XML DOM"/>
<cfset parsedXML = xmlParse( myXML )>
<cfset xmlStruct = recurseXMLObject( getRootElement(parsedXML) , "prop,head" )>
<cfset xmlArray = StructKeyArray(xmlStruct)/>
<cfdump var="#xmlArray#"/>
</body>
</html>
Nickadele
----------------------------------------------
non, ma belle ne s'appel pas Adèle
Mon Blog