Re: SimpleXML and the Single String (SOLVED)
| From: | marco@behnke.biz | Date: | Wed, 22 Feb 2012 14:32:12 +0000 |
| Subject: | Re: SimpleXML and the Single String (SOLVED) | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-316759@lists.php.net to get a copy of this message | ||
There is another nice way.
You can pass a second value to the simple xml constructor which is a class
name to be used instead of SimpleXMLElement.
You can write your own class that extends SimpleXMLElement and override the
magic methods to skip the casting
Simon Schick <simonsimcity@googlemail.com> hat am 22. Februar 2012 um 00:16
geschrieben:
> Hi, Jay
>
> If you're not using the variable *$xmlCompany* somewhere else I'd try to
> skip the array and just do it with this single line:
> *$arrayLead[0]->Company = (string)
> $xml->SignonRq->SignonTransport->CustId->SPName;*
>
> The result should not differ from what you have now.
>
> Bye
> Simon
>
> 2012/2/21 Jay Blanchard <jay.blanchard@sigmaphinothing.org>
>
> > Howdy,
> >
> > My PHP chops are a little rough around the edges so I know that I am
> > missing something. I am working with SimpleXML to retrieve values from
an
> > XML file like this -
> >
> > $xmlCompany = $xml->SignonRq->SignonTransport->CustId->SPName;
> >
> > If I echo $xmlCompany I get the proper information.
> >
> > If I use $xmlCompany as an array value though, I get this object -
> >
> > $arrayLead[0]->Company = $xmlCompany; // what I did
> > [Company] => SimpleXMLElement Object // what I got
> > (
> > [0] => Dadgummit
> > )
> > I tried casting AND THEN AS I TYPED THIS I figured it out...
> >
> > $xmlCompany = array((string)
> > $xml->SignonRq->SignonTransport->CustId->SPName); // becomes an array
> > $arrayLead[0]->Company = $xmlCompany[0]; // gets the right bit of the
array
> >
> > and the result is
> >
> > [Company] => Dadgummit
> > Thanks for bearing with me!
> >
> >
> >
> >
> >
Marco Behnke
Dipl. Informatiker (FH), SAE Audio Engineer Diploma
Zend Certified Engineer PHP 5.3
Tel.: 0174 / 9722336
e-Mail: marco@behnke.biz
Softwaretechnik Behnke
Heinrich-Heine-Str. 7D
21218 Seevetal
http://www.behnke.biz