Home > Archive > PHP Language > December 2004 > Simplexml problem
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
|
|
| MyListforSanta 2004-12-20, 3:56 pm |
| Hi
Sorry if this is not the right newsgroup to ask this question but I am
having a problem with simplexml in PHP5.
This is the code I have
$xml = @simplexml_load_file('xmlfile') or die;
foreach ($xml->result->phrase as $phrase) {
printf("Title %s\n", $phrase->title);
printf("Url %s\n", $phrase->url);
printf("Desc %s\n", $phrase->desc);
printf("Review-url %s\n", $phrase->reviewurl);
}
foreach ($xml->result->domain->domain-listing->store-offers->store-offer as
$storeoffer) {
printf("Store Name %s\n", $storeoffer->store-name);
printf("Store Logo %s\n", $storeoffer->store-logo);
printf("In Stock %s\n", $storeoffer->in-stock);
printf("Offer Price %s\n", $storeoffer->offer-price);
printf("Tax %s\n", $storeoffer->tax);
printf("Shipping %s\n", $storeoffer->shipping);
printf("Total Price %s\n", $storeoffer->total-price);
printf("Offer Url %s\n", $storeoffer->offer-url);
printf("Store Rating %s\n", $storeoffer->store-rating);
printf("Store Rating Image %s\n", $storeoffer->store-rating-image);
printf("Num Store Reviews %s\n", $storeoffer->num-store-reviews);
printf("Store Review Url %s\n", $storeoffer->store-review-url);
}
When I try to process this I get an error on this line foreach
($xml->result->domain->domain-listing->store-offers->store-offer as
$storeoffer) {
the error is
Parse error: parse error, unexpected T_OBJECT_OPERATOR in
/home/findmeth/public_html/uknetholidays/index.php on line 17
I think the error is being caused by the store-offers element as when I
remove this I dont get the error
Any ideas?
I cant change the structure of the xml file as it is supplied by a third
party
Thanks in anticipation
Keith
http://www.mylistforsanta.com
| |
| Janwillem Borleffs 2004-12-21, 3:57 pm |
| MyListforSanta wrote:
> Parse error: parse error, unexpected T_OBJECT_OPERATOR in
> /home/findmeth/public_html/uknetholidays/index.php on line 17
>
> I think the error is being caused by the store-offers element as when
> I remove this I dont get the error
>
> Any ideas?
>
The major problem is the hyphen in some of the element names. This triggers
an error.
Since removal of these hyphens isn't an option, you should put them within
curly brackets:
$object->{'store-offers'}
Additionally, I find the xpath method always to be more convenient. Try:
$xml = @simplexml_load_file('xmlfile') or die;
$xpath = "//result/domain/domain-listing/store-offers/store-offer";
foreach ($xml->xpath($xpath) as $storeoffer) {
printf("Store Name %s\n", $storeoffer->{'store-name'});
}
JW
| |
| MyListforSanta 2004-12-22, 8:57 am |
| "Janwillem Borleffs" <jw@jwscripts.com> wrote in message
news:41c850f8$0$45943$a344fe98@news.euronet.nl...
> MyListforSanta wrote:
>
> The major problem is the hyphen in some of the element names. This
triggers
> an error.
>
> Since removal of these hyphens isn't an option, you should put them within
> curly brackets:
>
> $object->{'store-offers'}
>
> Additionally, I find the xpath method always to be more convenient. Try:
>
> $xml = @simplexml_load_file('xmlfile') or die;
> $xpath = "//result/domain/domain-listing/store-offers/store-offer";
>
> foreach ($xml->xpath($xpath) as $storeoffer) {
> printf("Store Name %s\n", $storeoffer->{'store-name'});
> }
>
>
> JW
>
>
>
Thanks for that - the xpath idea works a treat ;-)
| |
| Janwillem Borleffs 2004-12-23, 3:58 pm |
| MyListforSanta wrote:
> Parse error: parse error, unexpected T_OBJECT_OPERATOR in
> /home/findmeth/public_html/uknetholidays/index.php on line 17
>
> I think the error is being caused by the store-offers element as when
> I remove this I dont get the error
>
> Any ideas?
>
The major problem is the hyphen in some of the element names. This triggers
an error.
Since removal of these hyphens isn't an option, you should put them within
curly brackets:
$object->{'store-offers'}
Additionally, I find the xpath method always to be more convenient. Try:
$xml = @simplexml_load_file('xmlfile') or die;
$xpath = "//result/domain/domain-listing/store-offers/store-offer";
foreach ($xml->xpath($xpath) as $storeoffer) {
printf("Store Name %s\n", $storeoffer->{'store-name'});
}
JW
| |
| Janwillem Borleffs 2004-12-26, 8:55 am |
| MyListforSanta wrote:
> Parse error: parse error, unexpected T_OBJECT_OPERATOR in
> /home/findmeth/public_html/uknetholidays/index.php on line 17
>
> I think the error is being caused by the store-offers element as when
> I remove this I dont get the error
>
> Any ideas?
>
The major problem is the hyphen in some of the element names. This triggers
an error.
Since removal of these hyphens isn't an option, you should put them within
curly brackets:
$object->{'store-offers'}
Additionally, I find the xpath method always to be more convenient. Try:
$xml = @simplexml_load_file('xmlfile') or die;
$xpath = "//result/domain/domain-listing/store-offers/store-offer";
foreach ($xml->xpath($xpath) as $storeoffer) {
printf("Store Name %s\n", $storeoffer->{'store-name'});
}
JW
|
|
|
|
|