[gelöst] Feed Import mit XPath XML parser imported nur einen Datensatz.
am 17.01.2013 - 09:47 Uhr in
Nachdem ich den Feeder mit CSV schon ganz gut im Griff habe, habe ich mich jetzt zum ersten Mal an einen XML-Import gewagt und verwende dazu das XPath-Feed-Modul.
Bei der Einrichtung bin ich nach der Doku vorgegangen
http://drupal.org/node/919448
bzw. diesem Beispiel hier
http://adellefrank.com/blog/how-to-migrate-content-from-drupal6-to-drupa...
Wobei es sich eben nicht um eine Migration von Druap 6 handelt, sondern um Produktdaten von Affilinet.
Zum Testen habe ich das XML-File lokal auf 5 DS beschränkt.
Soweit alles klar.
Der Debugger gibt alles korrekt aus und zeigt keine Fehler an.
context :
<Products ProgramID="2216" ShopID="492447"><Product xmlns:contentDetection="cd:extension" ProgramID="2216" ArticleNumber="1644">....Hier steht der Inhalt des gesamten XML...</Product> </Products>
xpathparser:0 :
ArticleNumber="1644"
ArticleNumber="1645"
ArticleNumber="5927"
ArticleNumber="13863"
ArticleNumber="13864"
xpathparser:1 :
ArticleNumber="1644"
ArticleNumber="1645"
ArticleNumber="5927"
ArticleNumber="13863"
ArticleNumber="13864"
xpathparser:2 :
<Title>Baby Pflegecreme</Title>
<Title>Baby Pflegelotion Ringelblume</Title>
<Title>Calendula-Babycreme</Title>
<Title>Calendula Gesichtscreme</Title>
<Title>Calendula Pflegecreme</Title>
xpathparser:11 :
<DescriptionShort>Diese milde Gesichts- und Körpercreme pflegt und schützt empfindliche Babyhaut mit Ringelblume...</DescriptionShort>
<DescriptionShort>Diese milde Lotion pflegt und schützt ....</DescriptionShort>
<DescriptionShort>Die Weleda Calendula Babycreme pflegt und schützt...</DescriptionShort>
<DescriptionShort>- Hochwertiges Mandelöl hält die Haut weich und geschmeidig. ...</DescriptionShort>
<DescriptionShort>...</DescriptionShort>
xpathparser:4 :
<Product>http://partners.webmasterplan.com/click.asp?ref=492447&site=2216&type=text&tnb=2&diurl=http://shop.amorebio.de/-1644.html</Product>
<Product>http://partners.webmasterplan.com/click.asp?ref=492447&site=2216&type=text&tnb=2&diurl=http://shop.amorebio.de/-1645.html</Product>
<Product>http://partners.webmasterplan.com/click.asp?ref=492447&site=2216&type=text&tnb=2&diurl=http://shop.amorebio.de/-5927.html</Product>
<Product>http://partners.webmasterplan.com/click.asp?ref=492447&site=2216&type=text&tnb=2&diurl=http://shop.amorebio.de/-13863.html</Product>
<Product>http://partners.webmasterplan.com/click.asp?ref=492447&site=2216&type=text&tnb=2&diurl=http://shop.amorebio.de/-13864.html</Product>
xpathparser:5 :
<URL>http://shop.amorebio.de/foto/gross/1644.gif</URL>
<URL>http://shop.amorebio.de/foto/gross/1645.gif</URL>
<URL>http://shop.amorebio.de/foto/gross/5927.gif</URL>
<URL>http://shop.amorebio.de/foto/gross/13863.gif</URL>
<URL>http://shop.amorebio.de/foto/gross/13864.gif</URL>
xpathparser:6 :
<Title>Baby Pflegecreme</Title>
<Title>Baby Pflegelotion Ringelblume</Title>
<Title>Calendula-Babycreme</Title>
<Title>Calendula Gesichtscreme</Title>
<Title>Calendula Pflegecreme</Title>
xpathparser:7 :
<ProductCategoryPath>Baby & Kind > Babypflege > Creme & Lotion</ProductCategoryPath>
<ProductCategoryPath>Baby & Kind > Babypflege > Creme & Lotion</ProductCategoryPath>
<ProductCategoryPath>Baby & Kind > Babypflege > Creme & Lotion</ProductCategoryPath>
<ProductCategoryPath>Baby & Kind > Babypflege > Creme & Lotion</ProductCategoryPath>
<ProductCategoryPath>Baby & Kind > Babypflege > Creme & Lotion</ProductCategoryPath>
xpathparser:9 :
<Properties/>
<Properties/>
<Properties/>
<Properties/>
<Properties/>
xpathparser:10 :
<Shipping/>
<Shipping/>
<Shipping/>
<Shipping/>
<Shipping/>
Created 1 node.
Zwei Probleme habe ich:
1. Es wird immer nur das erste Item importiert.
ArticleNumber ist als GUID definiert.
Es soll ein Update auf vorhandene Werte gemacht werden.
Die Werte vom ersten Item stehen völlig korrekt in dem einen Node drinnen, der angelegt wird.
2. Die Einstellungen im Tamper werden komplett ignoriert.
Dortige Debug-Ausgaben werden nicht angezeigt. Beim CSV kann ich damit genau testen, was der Tamper mit einem Wert anstellt.
Bin ich auf einem falschen Dampfer, weil ich irgendeinen gravierenden Unterschied zwischen den Einstellungen für XML und CSV übersehe?
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich habe meinen Fehler
am 18.01.2013 - 14:56 Uhr
Ich habe meinen Fehler gefunden:
So ist das XML File aufgebaut
<?xml version="1.0" encoding="utf-8" ?>
<Products ProgramID="2216" ShopID="492447">
<Product ProgramID="2216" ArticleNumber="1644" xmlns:contentDetection="cd:extension">
<CategoryPath>
<ProductCategoryID>29561271</ProductCategoryID>
<ProductCategoryPath>Baby & Kind > Babypflege > Creme & Lotion</ProductCategoryPath>
</CategoryPath>
<Price>
<DisplayPrice>8.65 EUR </DisplayPrice>
</Price>
<Deeplinks>
<Product>http://partners.webmasterplan.com/click.asp?ref=492447&site=2216&type=text&tnb=2&diurl=http://shop.amorebio.de/-1644.html</Product>
</Deeplinks>
<Details>
<Title>Baby Pflegecreme</Title>
<DescriptionShort>Diese milde Gesichts- und Körpercreme pflegt und schützt empfindliche Babyhaut mit Ringelblume, Jojoba- und Avocadoöl. Die besonders hautmilden Pflegestoffe unterstützen das natürliche Gleichgewicht der Haut und schützen sie vor dem Austrocknen. Kräuter aus kontrolliert-biologischem Anbau und Wildsammlung Frei von synthetischen Farb-, Duft-, und Konservierungsstoffen.</DescriptionShort>
</Details>
<Date>
</Date>
<Images>
<Img Name="Adv">
<URL>http://shop.amorebio.de/foto/gross/1644.gif</URL>
</Img>
</Images>
<Properties>
</Properties>
<Shipping>
</Shipping>
<BasePriceInformation>
</BasePriceInformation>
</Product>
<Product ProgramID="2216" ArticleNumber="1645" xmlns:contentDetection="cd:extension">
<CategoryPath>
<ProductCategoryID>29561271</ProductCategoryID>
....u.s.w....
Ich muß natürlich als Context //Product statt //Products nehmen, da Product die sich wiederholenden Elemente darstellt.
Product kommt x mal vor, Products nur 1 mal. Deshalb war es völlig korrekt, daß nur ein Item importiert wurde.
Kaum macht man diese richtig, funktioniert auch Tamper wie gewünscht.