|
Posted by "Ron Eggler (Paykiosks)" on 01/19/06 20:08
yup, I finally got it parsed by simple XML, thank you!
but I got a problem, my xml-string returns many parts like this one:
[xml]
<cardSKU category="Local Dial Tone/Telephone Service" distributor="EWI"
discontinued="false" cardtype="PIN" transactionType="PURC">
<card cardID="180" carrier="Reconex (test)" partNumber="PN-180" region="Optional Services (test)" amount="5" wholesalePrice="4.5" icon="https://www.pinsprepaid.com/image.aspx?name=c38-reconex_logo.gif" upc="870368000420">
<cinfo costPerMinute="" lifetime="0" longDistRate="" roamingRate="" numberOfMin=""/>
</card>
<terms>
Refer to the Reconex brochure for complete terms and conditions.
</terms>
<pinfo type="Optional Services" value="Call Forwarding, Call Waiting, Caller ID, Three Way Calling, Speed Dialing & Non-Published Number"/>
</cardSKU>
[/xml]
and I wanna read information out of it by:
[php]
$xml = simplexml_load_string($data);
/* a few other things like parsing xml that works fine */
foreach ($xml->cardSKU as $cardSKU)
{
array_push($category,(string)$cardSKU['category']);
}
[/php]
but it seems not to work, the array $category stays empty, why that?
Thank you!
--
chEErs roN
Am Mittwoch, den 18.01.2006, 16:40 -0600 schrieb Richard Lynch:
> Simple XML *should* give you all the info somewhere in its data
> structures.
>
> If not, there are at least 2 or 3 other XML parsers that have been
> built s extensions to PHP over the years.
>
> Plus there is at least one XML parser in PEAR, and probably one or
> more in PECL.
>
> A quick search on http://php.net will find them.
>
> If all else fails, and you're really really stuck with no XML parsers
> due to brain-dead web-hosting, it should take you about an hour to
> hack a script to use http://php.net/explode and/or
> http://php.net/preg_match_all to get the info you want, *IF* the XML
> is predictable.
>
> It is NOT recommended that you do this, but here is a start if you
> really have no way to get a real XML parser on-board:
>
> $string = '[insert your XML here]';
> preg_match_all('/<(a-z)+\\s*(([a-z]+)="([^"]*)"\\s*)*\\s*\\/>/isU',
> $string, $matches);
> var_dump($matches);
>
> You may want to find and download "The Regex Coach" program to help
> you learn/understand Regular Expressions.
>
> On Wed, January 18, 2006 12:12 pm, Ron Eggler (Paykiosks) wrote:
> > Hi,
> >
> > I need to parse a String like pasted below for all information
> > (values)
> > those are included like 'var=value'. How can I do that? Are there any
> > XML-parsing functions available those'd fit for that job? I've ust
> > found
> > that one (http://ca.php.net/simplexml) but it seems like i could use
> > it
> > only for exctracting the 'terms' cause they're in the format that
> > simplexml
> > expects.
> > Thank you for every help!
> >
> > [String]
> > <xs:response xmlns:xs="urn:pinXpressSchema">
> > <SKUlisting>
> > <globalInfo slogan="Welcome to PayGo!" supportPhone="1-866-339-3299"/>
> > <carrierInfo carrier="Reconex (test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c38-reconex_logo.gif"
> > />
> > <carrierInfo carrier="IDT POSA"
> > icon="https://www.pinsprepaid.com/image.aspx?name=" />
> > <carrierInfo carrier="IDT MasterCard"
> > icon="https://www.pinsprepaid.com/image.aspx?name=" />
> > <carrierInfo carrier="PLAYPHONE (Test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=PlayPhone-200x100.gif"
> > />
> > <carrierInfo carrier="EWI POSA TEST"
> > icon="https://www.pinsprepaid.com/image.aspx?name=PayGo_200_100.gif"
> > />
> > <carrierInfo carrier="IDT POSA"
> > icon="https://www.pinsprepaid.com/image.aspx?name=" />
> > <carrierInfo carrier="IDT Visa"
> > icon="https://www.pinsprepaid.com/image.aspx?name=" />
> > <carrierInfo carrier="Bell Mobility (TEST)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=" />
> > <carrierInfo carrier="Boost Mobile (Test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c59-BoostMobile.gif"
> > />
> > <carrierInfo carrier="Cingular (test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=cing-blue.gif" />
> > <carrierInfo carrier="Page Plus (Test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=pageplus.gif" />
> > <carrierInfo carrier="T-Mobile (test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c29-t-mobile_ticketlogo.gif"
> > />
> > <carrierInfo carrier="Unefon"
> > icon="https://www.pinsprepaid.com/image.aspx?name=unefon_logo.gif" />
> > <carrierInfo carrier="Verizon (test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=verizon.gif" />
> > <carrierInfo carrier="Virgin Mobile (test)"
> > icon="https://www.pinsprepaid.com/image.aspx?name=Virgin+Mobile
> > +200x100.gif" />
> > <cardSKU category="Local Dial Tone/Telephone Service"
> > distributor="EWI"
> > discontinued="false" cardtype="PIN" transactionType="PURC">
> > <card cardID="180" carrier="Reconex (test)" partNumber="PN-180"
> > region="Optional Services (test)" amount="5" wholesalePrice="4.5"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c38-reconex_logo.gif"
> > upc="870368000420">
> > <cinfo costPerMinute="" lifetime="0" longDistRate=""
> > roamingRate=""
> > numberOfMin=""/>
> > </card>
> > <terms>
> > Refer to the Reconex brochure for complete terms and conditions.
> > </terms>
> > <pinfo type="Optional Services" value="Call Forwarding, Call
> > Waiting,
> > Caller ID, Three Way Calling, Speed Dialing & Non-Published
> > Number"/>
> > </cardSKU>
> > <cardSKU category="Local Dial Tone/Telephone Service"
> > distributor="EWI"
> > discontinued="false" cardtype="PIN" transactionType="PURC">
> > <card cardID="181" carrier="Reconex (test)" partNumber="PN-181"
> > region="Optional Services (test)" amount="10" wholesalePrice="9"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c38-reconex_logo.gif"
> > upc="870368000437">
> > <cinfo costPerMinute="" lifetime="0" longDistRate=""
> > roamingRate=""
> > numberOfMin=""/>
> > </card>
> > <terms>
> > Refer to the Reconex brochure for complete terms and conditions.
> > </terms>
> > <pinfo type="Optional Services" value="Call Forwarding, Call
> > Waiting,
> > Caller ID, Three Way Calling, Speed Dialing & Non-Published
> > Number"/>
> > </cardSKU>
> > <cardSKU category="Local Dial Tone/Telephone Service"
> > distributor="EWI"
> > discontinued="false" cardtype="PIN" transactionType="PURC">
> > <card cardID="178" carrier="Reconex (test)" partNumber="PN-178"
> > region="Regional Refill (test)" amount="52.99" wholesalePrice="47.7"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c38-reconex_logo.gif"
> > upc="870368000413">
> > <cinfo costPerMinute="" lifetime="0" longDistRate=""
> > roamingRate=""
> > numberOfMin=""/>
> > </card>
> > <terms>
> > Refer to the Reconex brochure for complete terms and conditions.
> > </terms>
> > <pinfo type="Basic Service" value="Includes 30 days of basic service
> > in
> > select states. Also includes variable state, federal & service
> > line
> > fees"/>
> > </cardSKU>
> > <cardSKU category="Local Dial Tone/Telephone Service"
> > distributor="EWI"
> > discontinued="false" cardtype="PIN" transactionType="PURC">
> > <card cardID="177" carrier="Reconex (test)" partNumber="PN-177"
> > region="Regional Starter (test)" amount="39" wholesalePrice="35.1"
> > icon="https://www.pinsprepaid.com/image.aspx?name=c38-reconex_logo.gif"
> > upc="870368000406">
> > <cinfo costPerMinute="" lifetime="0" longDistRate=""
> > roamingRate=""
> > numberOfMin=""/>
> > </card>
> > <terms>
> > Refer to the Reconex brochure for complete terms and conditions.
> > </terms>
> > <pinfo type="Basic Service" value="15 Days of basic service"/>
> > </cardSKU>
> > [/String]
> >
>
>
Navigation:
[Reply to this message]
|