Forum Moderators: coopster
function sendData($xmlData)
{
$curlObject = curl_init();
//Sets an option on the given cURL session handle
curl_setopt($curlObject, CURLOPT_URL, "http://myurl.com");
//do not get the Header
curl_setopt ($curlObject, CURLOPT_HEADER, false);
// get the response as a string from curl_exec(), rather than echoing it
curl_setopt ($curlObject, CURLOPT_RETURNTRANSFER, true);
curl_setopt ($curlObject, CURLOPT_POST, true);
curl_setopt ($curlObject, CURLOPT_POSTFIELDS, "$xmlData");
$response = curl_exec($curlObject);
curl_close ($curlObject);
return $response;
}
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($xml_parser, $data, $vals, $index);
xml_parser_free($xml_parser);
Array ( [0] => Array ( [tag] => xml [type] => open [level] => 1 ) [1] => Array ( [tag] => command [type] => complete [level] => 2 [attributes] => Array ( [name] => find [result] => 0 ) ) [2] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [3] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 88 ) [4] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => dave test ) [5] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [6] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [7] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 87 ) [8] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-6 ) [9] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [10] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [11] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 86 ) [12] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-6 ) [13] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [14] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [15] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 85 ) [16] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-6 ) [17] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [18] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [19] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 54 ) [20] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-2 ) [21] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [22] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [23] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 83 ) [24] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-5 ) [25] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [26] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [27] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 82 ) [28] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-4 ) [29] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [30] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [31] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 81 ) [32] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-3 ) [33] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [34] => Array ( [tag] => Campaign [type] => open [level] => 2 ) [35] => Array ( [tag] => Id [type] => complete [level] => 3 [value] => 50 ) [36] => Array ( [tag] => Name [type] => complete [level] => 3 [value] => campaign-1 ) [37] => Array ( [tag] => Campaign [type] => close [level] => 2 ) [38] => Array ( [tag] => xml [type] => close [level] => 1 ) )
<xml><command name="find" result="0"/>
<Campaign><Id>59</Id><Name>remote3</Name></Campaign>
<Campaign><Id>61</Id><Name>remote5</Name></Campaign>
<Campaign><Id>58</Id><Name>remote2</Name></Campaign>
<Campaign><Id>60</Id><Name>remote4</Name></Campaign>
<Campaign><Id>57</Id><Name>remote1</Name></Campaign>
<Campaign><Id>70</Id><Name>remote04</Name></Campaign>
<Campaign><Id>68</Id><Name>remote02</Name></Campaign>
<Campaign><Id>67</Id><Name>remote01</Name></Campaign>
<Campaign><Id>65</Id><Name>remote8</Name></Campaign>
<Campaign><Id>64</Id><Name>remote7</Name></Campaign>
</xml>
function xml2array($xml) {
$xmlary = array();
$reels = '/<(\w+)\s*([^\/>]*)\s*(?:\/>|>(.*)<\/\s*\\1\s*>)/s';
$reattrs = '/(\w+)=(?:"|\')([^"\']*)(:?"|\')/';
preg_match_all($reels, $xml, $elements);
foreach ($elements[1] as $ie => $xx) {
$xmlary[$ie]["name"] = $elements[1][$ie];
if ($attributes = trim($elements[2][$ie])) {
preg_match_all($reattrs, $attributes, $att);
foreach ($att[1] as $ia => $xx)
$xmlary[$ie]["attributes"][$att[1][$ia]] = $att[2][$ia];
}
$cdend = strpos($elements[3][$ie], "<");
if ($cdend > 0) {
$xmlary[$ie]["text"] = substr($elements[3][$ie], 0, $cdend - 1);
}
if (preg_match($reels, $elements[3][$ie]))
$xmlary[$ie]["elements"] = xml2array($elements[3][$ie]);
else if ($elements[3][$ie]) {
$xmlary[$ie]["text"] = $elements[3][$ie];
}
}
return $xmlary;
}
$xml=xml2array(file_get_contents($data));
print_r($xml);
Warning: file_get_contents(<xml><command name="find" result="0"/> <Campaign><Id>88</Id><Name>dave test</Name></Campaign> <Campaign><Id>87</Id><Name>campaign-6</Name></Campaign> <Campaign><Id>86</Id><Name>campaign-6</Name></Campaign> <Campaign><Id>85</Id><Name>campaign-6</Name></Campaign> <Campaign><Id>54</Id><Name>campaign-2</Name></Campaign> <Campaign><Id>83</Id><Name>campaign-5</Name></Campaign> <Campaign><Id>82</Id><Name>campaign-4</Name></Campaign> <Campaign><Id>81</Id><Name>campaign-3</Name></Campaign> <Campaign><Id>50</Id><Name>campaign-1</Name></Campaign> </xml> ) [function.file-get-contents]: failed to o in C:\xampp\htdocs\sms\fns\curl_fns.php on line 49
$xml=xml2array(file_get_contents($data));
$xml=xml2array($data);
Array ( [0] => Array ( [name] => xml [elements] => Array ( [0] => Array ( [name] => command [attributes] => Array ( [name] => find [result] => 0 ) ) [1] => Array ( [name] => Campaign [elements] => Array ( [0] => Array ( [name] => Id [text] => 8 [elements] => Array ( [0] => Array ( [name] => Name [text] => dave tes [elements] => Array ( [0] => Array ( [name] => Campaign [elements] => Array ( [0] => Array ( [name] => Id [text] => 8 [elements] => Array ( [0] => Array ( [name] => Name [text] => campaign- [elements] => Array ( [0] => Array ( [name] => Campaign [elements] => Array ( [0] => Array ( [name] => Id [text] => 8 [elements] => Array ( [0] => Array ( [name] => Name [text] => campaign- [elements] => Array ( [0] => Array ( [name] => Id [text] => 85 ) ) ) ) ) [1] => Array ( [name] => Name [text] => campaign-2 ) ) ) [1] => Array ( [name] => Id [text] => 83 ) ) ) ) ) [1] => Array ( [name] => Name [text] => campaign-4 ) ) ) [1] => Array ( [name] => Id [text] => 81 ) ) ) ) ) [1] => Array ( [name] => Name [text] => campaign-1 ) ) ) ) ) ) <xml><command name="find" result="0"/>
<Campaign><Id>88</Id><Name>dave test</Name></Campaign>
<Campaign><Id>87</Id><Name>campaign-6</Name></Campaign>
<Campaign><Id>86</Id><Name>campaign-6</Name></Campaign>
<Campaign><Id>85</Id><Name>campaign-6</Name></Campaign>
<Campaign><Id>54</Id><Name>campaign-2</Name></Campaign>
<Campaign><Id>83</Id><Name>campaign-5</Name></Campaign>
<Campaign><Id>82</Id><Name>campaign-4</Name></Campaign>
<Campaign><Id>81</Id><Name>campaign-3</Name></Campaign>
<Campaign><Id>50</Id><Name>campaign-1</Name></Campaign>
</xml>
<table border="0" cellspacing="0">
<tr>
<td></td>
<td>Campaign Id</td>
<td>Campaign Name</td>
</tr>
<tr>
<td></td>
<td>88</td>
<td>dave test</td>
</tr>
<tr>
<td></td>
<td>87</td>
<td>campaign-6</td>
</tr>
<tr>
<td></td>
<td>86</td>
<td>campaign-6</td>
</tr>
..etc
</table>