Jump to content

Parsing with SimpleXML and PHP ?


Skylight_lady

Recommended Posts

I have limited idea about SimpleXML but not with the code below and need to edit it so the results can be parsed into a html format. The problem i am having is the XML tags are stored in an existing variable returned from a third party server so need something that can parse this xml info into a html with tags being used.

 

$xml = "<Inputs>";
$xml.= "<Authentication>";
$xml.= "<Username>$username</Username>";
$xml.= "<Password>$password</Password>";
$xml.= "<RequestType>Term</RequestType>";
$xml.= "<RequestFrom>$system_name</RequestFrom>";
$xml.= "<RequestFromCode>$system_code</RequestFromCode>";
$xml.= "</Authentication>";

$xml.= "<Life1>";
$xml.= "<DOB>$dob</DOB>";
$xml.= "<Sex>$sex</Sex>";
$xml.= "<Smoker>$smoker</Smoker>";
$xml.= "<LifeCover>$lifecover</LifeCover>";
$xml.= "<IllnessCover>N</IllnessCover>";
$xml.= "</Life1>";

$xml.= "<Life2>";
$xml.= "</Life2>";

$xml.= "<Plan>";
$xml.= "<Term>$term</Term>";
$xml.= "<Indexation>N</Indexation>";
$xml.= "<MortgageInterest>6</MortgageInterest>";
$xml.= "<Frequency>Monthly</Frequency>";
$xml.= "<QuoteLifeOnly>Y</QuoteLifeOnly>";
$xml.= "<QuoteLifeAccelerated>$accelerated</QuoteLifeAccelerated>";
$xml.= "<QuoteLifeIllness>N</QuoteLifeIllness>";
$xml.= "<QuoteIllnessOnly>N</QuoteIllnessOnly>";
$xml.= "</Plan>";
$xml.= "</Inputs>";

$url = 'URL NORMALLY HERE';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "xml=".urlencode($xml));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$xml_result=curl_exec($ch);
curl_close($ch);
print("[$xml_result]");

/* simple xml */
$simplexml = new SimpleXMLElement($xml_result);
$Name = $simplexml->Name;
echo $Name; 
/* end */

$data = XML_unserialize($xml_result);

 

$xml_result contains... (with usernames/passwords removed)

 

<Result>
<Errors></Errors>
<Inputs><Authentication><Username>####</Username>
<Password>####</Password><RequestType>Term</RequestType><RequestFrom>####</RequestFrom><RequestFromCode>####</RequestFromCode></Authentication><Life1><DOB>01/01/1969</DOB><Sex>Male</Sex><Smoker>Non-Smoker</Smoker><LifeCover>100,000</LifeCover><IllnessCover>N</IllnessCover></Life1><Life2></Life2><Plan><Term>10</Term><Indexation>N</Indexation><MortgageInterest>6</MortgageInterest><Frequency>Monthly</Frequency><QuoteLifeOnly>Y</QuoteLifeOnly><QuoteLifeAccelerated>Non-Smoker</QuoteLifeAccelerated><QuoteLifeIllness>N</QuoteLifeIllness><QuoteIllnessOnly>N</QuoteIllnessOnly></Plan></Inputs><Outputs>
<Summary>
<Life1>Male, 40 years 8 months (01/01/1969), Non-Smoker, life cover 100,000</Life1>
<Life2></Life2>
<Plan>10 year term, mortgage interest 6.00%, benefits and premiums not increasing.<p>1% levy included.</p></Plan>
</Summary>
<Quotes>
<Type>
<Desc>Life Cover Only</Desc>
<Company>
<Name key="1">Caledonian Life</Name>
<PricePledge>False</PricePledge>
<Underwriting1></Underwriting1>
<SLevel key="2">14.50</SLevel>
<SConvertible key="2">15.46</SConvertible>
<SMortgage key="2">12.12</SMortgage>
</Company>
<Company>
<Name key="2">Canada Life</Name>
<PricePledge>False</PricePledge>
<Underwriting1></Underwriting1>
<SLevel key="2">15.15</SLevel>
<SConvertible key="2">15.91</SConvertible>
<SMortgage key="2">13.13</SMortgage>
</Company>
</Type>
</Quotes>
</Outputs>
</Result>

 

Any advice would be much appreciated  :-*

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.