jriggs Posted October 23, 2009 Share Posted October 23, 2009 <?xml version="1.0"?> <Addresses> <Address ID="1"> <Address2>101 MAIN ST</Address2> <City>BIGTOWN</City> <State>OH</State> <Zip5>22222</Zip5> <Zip4></Zip4></Address> <Address ID="2"> <Address2>420 HIGH ST</Address2> <City>MYTOWN</City> <State>AK</State> <Zip5>54321</Zip5> <Zip4>2562</Zip4></Address> </Addresses> My code is reading the above xml, but if there was an error the xml will be different, for example: <?xml version="1.0"?> <Addresses> <Address ID="1"> <Error> <Number>-2147219401</Number> <Source>blah</Source> <Description>Address Not Found. </Description> <HelpFile></HelpFile> <HelpContext>1000440</HelpContext> </Error> </Address> <Address ID="2"> <Address2>420 HIGH ST</Address2> <City>MYTOWN</City> <State>AK</State> <Zip5>54321</Zip5> <Zip4>2562</Zip4></Address> </Addresses> Currently, I am accessing the elements like this: $xml = new SimpleXMLElement($xml_txt); $first_address = $xml->Address[0]->Address2; $second_address = $xml->Address[1]->Address2; This code doesn't work when the error xml is returned. There will always be 2 items in the xml. How can I tell which (if any) address has an 'error' node? Also, I need to know which of the 2 IDs has the error. Link to comment https://forums.phpfreaks.com/topic/178770-xml-element-exists/ Share on other sites More sharing options...
salathe Posted October 23, 2009 Share Posted October 23, 2009 You can check whether there is an Error node by using isset, for example, isset($xml->Address[0]->Error) Link to comment https://forums.phpfreaks.com/topic/178770-xml-element-exists/#findComment-943082 Share on other sites More sharing options...
jriggs Posted October 23, 2009 Author Share Posted October 23, 2009 Thanks, cant believe I didnt think of that on my own. trying to make it harder than it needed to be! Link to comment https://forums.phpfreaks.com/topic/178770-xml-element-exists/#findComment-943113 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.