verwerken namespace
Ik verwerk datafeeds.
De feed waar het nu om gaat bevat o.a.:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<productHeader>
<totalHits>781</totalHits>
</productHeader>
<products>
<product groupingId="sku1119401" language="nl">
<ns2:name>Apple Magsafe-lichtnetadapter 60w</ns2:name>
<ns2:description>Dit is de originele lichtnetadapter van Apple.</ns2:description>
<ns2:productImage>https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_96100452/fee_786_587_png</ns2:productImage>
<ns2:categories>
<ns2:category name="Originele Apple Mac-accessoires"/>
<ns2:category name="Computer" id="14" tdCategoryName="Computer hardware and software"/>
<ns2:category name="Computer- & laptop-accessoires"/>
</ns2:categories>
<ns2:fields>
<ns2:field name="advertiser_id">1119401</ns2:field>
<ns2:field name="category_path">Computer</ns2:field>
</ns2:fields>
<ns2:model>Apple Magsafe-lichtnetadapter 60w</ns2:model>
<ns2:brand>Apple</ns2:brand>
<ns2:shortDescription>Dit is de originele lichtnetadapter van Apple, geschikt voor MacBook en 13" Pro.</ns2:shortDescription>
<ns2:ean>0885909377817</ns2:ean>
<ns2:sku>1119401</ns2:sku>
<offers>
<offer id="f25125d2-4215-4510-b771-3c933f782134" sourceProductId="1119401" modifiedDate="1667919904832" dateFormat="epoch">
<ns2:feedId>23777</ns2:feedId>
<ns2:productUrl>https://pf.tradedoubler.com/click?a(1985635)p(262336)product(23777-1119401)ttid(3)url(https%3A%2F%2Fwww.mediamarkt.nl%2Fcatentry%2F1119401%3Futm_source%3Dtradedoubler%26utm_medium%3Daff-comparison%26utm_term%3D1119401)</ns2:productUrl>
<ns2:programName>MediaMarkt</ns2:programName>
<ns2:programLogo>http://hst.tradedoubler.com/file/262336/logos/mm_logo_200x70.gif</ns2:programLogo>
<priceHistory>
<ns2:price currency="EUR" date="1667919904832" dateFormat="epoch">89.99</ns2:price>
</priceHistory>
<ns2:inStock>263</ns2:inStock>
<ns2:availability>in stock</ns2:availability>
<ns2:deliveryTime>Voor 12:30 besteld, vandaag in huis</ns2:deliveryTime>
<ns2:shippingCost>0.00</ns2:shippingCost>
</offer>
</offers>
</product>
<totalHits>781</totalHits>
</productHeader>
<products>
<product groupingId="sku1119401" language="nl">
<ns2:name>Apple Magsafe-lichtnetadapter 60w</ns2:name>
<ns2:description>Dit is de originele lichtnetadapter van Apple.</ns2:description>
<ns2:productImage>https://assets.mmsrg.com/isr/166325/c1/-/ASSET_MMS_96100452/fee_786_587_png</ns2:productImage>
<ns2:categories>
<ns2:category name="Originele Apple Mac-accessoires"/>
<ns2:category name="Computer" id="14" tdCategoryName="Computer hardware and software"/>
<ns2:category name="Computer- & laptop-accessoires"/>
</ns2:categories>
<ns2:fields>
<ns2:field name="advertiser_id">1119401</ns2:field>
<ns2:field name="category_path">Computer</ns2:field>
</ns2:fields>
<ns2:model>Apple Magsafe-lichtnetadapter 60w</ns2:model>
<ns2:brand>Apple</ns2:brand>
<ns2:shortDescription>Dit is de originele lichtnetadapter van Apple, geschikt voor MacBook en 13" Pro.</ns2:shortDescription>
<ns2:ean>0885909377817</ns2:ean>
<ns2:sku>1119401</ns2:sku>
<offers>
<offer id="f25125d2-4215-4510-b771-3c933f782134" sourceProductId="1119401" modifiedDate="1667919904832" dateFormat="epoch">
<ns2:feedId>23777</ns2:feedId>
<ns2:productUrl>https://pf.tradedoubler.com/click?a(1985635)p(262336)product(23777-1119401)ttid(3)url(https%3A%2F%2Fwww.mediamarkt.nl%2Fcatentry%2F1119401%3Futm_source%3Dtradedoubler%26utm_medium%3Daff-comparison%26utm_term%3D1119401)</ns2:productUrl>
<ns2:programName>MediaMarkt</ns2:programName>
<ns2:programLogo>http://hst.tradedoubler.com/file/262336/logos/mm_logo_200x70.gif</ns2:programLogo>
<priceHistory>
<ns2:price currency="EUR" date="1667919904832" dateFormat="epoch">89.99</ns2:price>
</priceHistory>
<ns2:inStock>263</ns2:inStock>
<ns2:availability>in stock</ns2:availability>
<ns2:deliveryTime>Voor 12:30 besteld, vandaag in huis</ns2:deliveryTime>
<ns2:shippingCost>0.00</ns2:shippingCost>
</offer>
</offers>
</product>
Hoe kan ik nu de diverse zaken zoals name en model e.d. binnen lezen.
Als die ns2 er niet zou staan (zoals in de overige datafeeds die ik verwerk) dan vul ik $title als volgt:
Hoe gaat dit nu?
werkt niet en aangezien ik niet zo thuis ben in PHP weet ik niet hoe ik dit wel kan doen.
Gewijzigd op 10/11/2022 15:22:07 door - Ariën -
Hier een mooi voorbeeld:
https://stackoverflow.com/questions/16412047/parse-xml-namespaces-with-php-simplexml
Verder wil ik je graag vragen om je code tussen code-tags te plaatsen. Dan blijft het topic goed leesbaar.
Code (php)
1
2
3
4
5
2
3
4
5
$ns2Fields = $xml->product[0]->children('ns2', true);
echo "name: " . (string) $ns2Fields->name . "\n";
echo "description: " . (string) $ns2Fields->description . "\n";
echo "shippingCost: " . (string) $ns2Fields->shippingCosts . "\n";
echo "name: " . (string) $ns2Fields->name . "\n";
echo "description: " . (string) $ns2Fields->description . "\n";
echo "shippingCost: " . (string) $ns2Fields->shippingCosts . "\n";
Nogmaals, ik ben niet zo goed thuis in PHP maar heb door zelfstudie wel enkele websites gemaakt m.b.v. PHP.
Ik dacht n.a.v. die verwijzing dat het zo goed zou moeten zijn.
Ik krijg nu: aantal_ddaff = 1PHP Fatal error: Call to a member function children() on a non-object in /home/younk/domains/alledagdeals.nl/public_html/admin/cronjobs/tradedoubler-velden.php on line 23
'line 23' is de 1e regel met inhoud: $ns2Fields = $xml->product[0]->children('ns2', true);
Gewijzigd op 10/11/2022 15:22:19 door - Ariën -
Alvast bedankt.
Ik ga kopiëren en plakken en dan komt het zoals ik hierboven heb neer gezet.
Ja, gebruik daarvoor aub de code-tags.
Of is daar een andere manier voor?
deze pagina uit de F.A.Q.
Ik heb dit nu voor je gedaan, maar graag voortaan zelf hieraan denken. Bedankt!
Zie Ik heb dit nu voor je gedaan, maar graag voortaan zelf hieraan denken. Bedankt!
Gewijzigd op 10/11/2022 15:22:49 door - Ariën -
Ik heb overigens nog geen antwoord op mijn vraag en ook nog steeds geen oplossing gevonden.
Verder is het een kwestie van geduld tot een antwoord komt, we zijn hier allemaal vrijwillig.
Toevoeging op 14/11/2022 12:59:52:
Heb je dit al gezien?
https://stackoverflow.com/questions/13508658/php-fatal-error-call-to-a-member-function-children-on-a-non-object
Gewijzigd op 14/11/2022 11:46:00 door - Ariën -
.