For Programmers: Free Programming Magazines  


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]

 

Author Simplexml problem
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



Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com