Just regular old structKeyExists should do it for you.
if(
StructKeyExists(xmlfile.body.GetListItemsResponse.GetListItemsResult.listitems.data.row[a].XmlAttributes,
"ws_Buildlevel")
)
{
doSomething();
}
On Tue, Jul 21, 2009 at 6:32 PM, KNOTT, Brian <[email protected]>wrote:
> Hi guys.
>
> Got an XML import issue. I am trying to import an XML file but I’m having
> issues with some nodes not being defined in the XML. For example the node
> ‘duration’ may not be define for every record in the XML file. So I need to
> check to see if the node exists before I reference it, if it does not exist
> then I want to set it as null. I have tried isdefined and few other but
> can’t seem to get the correct terminology. Code sample below
>
> <cffile action="read" file="d:\Data\wwwroot\misd\XML\modelbuildparms.xml"
> variable="xmlfile">
>
> <cfscript>
> xmlfile = trim(xmlfile);
> xmlfile = xmlparse(xmlfile);
>
> xmlsize =
> xmlfile.body.GetListItemsResponse.GetListItemsResult.listitems.data.XmlAttributes.ItemCount;
>
> xmlqry = QueryNew("Title, ModelPath, ModelEmailString,
> CubePublishPath, PPESPublishPath, ModelUserSecurity,
> ModelBuildExtraCommandsPre, ModelBuildExtraCommandsPost, BuildLevel,
> BusinessName, Duration, Keywords, NotifyStatus, MajorGrouping,
> MinorGrouping, ModelLabel, Frequency, Status, PrimaryMDC, ItemType, Path,
> UpdateTimeStamp, CreatedBy, ModifiedBy, Created, Modified, ID");
> QueryAddRow(xmlqry,100);
>
> for (a=1; a LTE 1; a=a+1) {
> QuerySetCell(xmlqry,"title",
> xmlfile.body.GetListItemsResponse.GetListItemsResult.listitems.data.row[a].XmlAttributes.ows_Buildlevel,a);
> QuerySetCell(xmlqry,"ModelPath",
> xmlfile.body.GetListItemsResponse.GetListItemsResult.listitems.data.row[a].XmlAttributes.ows_ModelPath,a);
> )
> </cfscript>
>
> In this example I need to check to see if the
> ‘xmlfile.body.GetListItemsResponse.GetListItemsResult.listitems.data.row[a].XmlAttributes.ows_Buildlevel’
> node exists before I reference it.
>
> Thanks
>
> *Brian Knott*
> Software Engineer (COGNOS Developer) | MIS Front End | Banking & Life MIS
> *ext* 31221* ph* 07 3333 1221
>
>
>
> * ________________________________ *
> This e-mail is sent by Suncorp-Metway Limited ABN 66 010 831 722 or one of
> its related entities "Suncorp".
> Suncorp may be contacted at Level 18, 36 Wickham Terrace, Brisbane or on 13
> 11 55 or at suncorp.com.au.
> The content of this e-mail is the view of the sender or stated author and
> does not necessarily reflect the view of Suncorp. The content, including
> attachments, is a confidential communication between Suncorp and the
> intended recipient. If you are not the intended recipient, any use,
> interference with, disclosure or copying of this e-mail, including
> attachments, is unauthorised and expressly prohibited. If you have received
> this e-mail in error please contact the sender immediately and delete the
> e-mail and any attachments from your system.
> If this e-mail constitutes a commercial message of a type that you no
> longer wish to receive please reply to this e-mail by typing Unsubscribe in
> the subject line.
>
> >
>
--
-- if you've written a homegrown[*CFML] controller layer that rivals the
sophistication and ease of use of the three major players (MG/MII/FB) - then
share it or shut up. You code in a silo - that's great. Just stay in there
and don't try to tell everyone how good it smells.
--Dave Ross
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"cfaussie" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/cfaussie?hl=en
-~----------~----~----~----~------~----~------~--~---